IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 全网首发,克莱斯勒东南大捷龙jeep道奇DIY数码碟盒增加USB和蓝牙播放音乐功能使用原车接口无损改装 -> 正文阅读

[嵌入式]全网首发,克莱斯勒东南大捷龙jeep道奇DIY数码碟盒增加USB和蓝牙播放音乐功能使用原车接口无损改装

前言

? 之前写过四篇关于车机增加音频输入的方法。

1、07宝来经典车机CD收音机(RC668)改装增加蓝牙播放音乐

2、全网首发!老大众奥迪碟盒通信协议破解,可以模拟数码碟盒,外接AUX蓝牙U盘等音频设备

3、全网首发!大众奥迪DIY数码碟盒增加USB和蓝牙播放音乐功能使用原车接口无损改装

4、全网首发,克莱斯勒大捷龙jeep道奇DIY数码碟盒增加USB和蓝牙播放音乐功能使用原车接口无损改装

? 这回是给东南大捷龙车机增加蓝牙和USB。东南大捷龙是东南汽车和克莱斯勒合作生产的MVP商务车,年份大概在2007-2012年之间,之后就停车了。可以说是独一无二了。因为产量不高,所以姥姥不疼,舅舅不爱。配套的电子改装套件不是很多,听大捷龙车主反馈,没有蓝牙开车导航不是很方便,所以花了一段时间破解了碟盒协议,制作了一个虚拟碟盒解决车主痛点。
在这里插入图片描述在这里插入图片描述

碟盒功能

1、支持蓝牙或者U盘播放音乐

2、支持原车按钮控制

3、可以接挂电话

4、走得是原车碟盒通道可以实现高品质音乐

1、设计指标

在这里插入图片描述

模块规格如下:

输入电压11V-14.6V/DC
工作电流200mA
工作温度-40℃~+80℃
信噪比95dB
频率响应20HZ-20KHZ

3、外观设计

? 经过几天筛选找到了下面这个外壳 ,长x宽x高 = 6x4x2 CM 还算小巧,上面有一个按键孔和一个5mmLED孔,安排一些功能将这两个孔堵上,侧面是MINIUSB和10PIN牛角座。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、PCB设计

放上伪3D效果图。

在这里插入图片描述在这里插入图片描述

? 要想音质好,地分割隔离少不了,再打上多多的过孔,特批是射频部分一定要多打孔。

5、程序设计

贴上核心程序代码

/*捕捉中断*/
void ETM2_IRQHandler(void)
{


    uint32_t nextVal;
    uint32_t curVal = ETM2->CNT;
	
		if(ETM2->SC & ETM_SC_TOF_MASK)				//清除溢出标志位
	{
			 ETM2->SC &= ~ETM_SC_TOF_MASK;

	}
	

	if(ETM2->CONTROLS[0].CnSC & ETM_CnSC_CHF_MASK )//输入信号边沿变化
	{
		ETM2->CONTROLS[0].CnSC &= ~ETM_CnSC_CHF_MASK;

		
        if(RxInProgress == (VPW_RxStatus_t)Idle)													// 产生下降沿
        {
            RxInProgress = (VPW_RxStatus_t)SOF;
            VPW_RxBufPtr = 0;
//            ResetRx();
					
						if(VPW_TxBufPtr >1)
						{
							VPW_RxBufPtr = 0;
						}

						ETM2->CONTROLS[0].CnSC |= ETM_CnSC_ELSB_MASK; 								//切换到跳边沿检测

        }
        else if(RxInProgress == 1)
        {
            uint32_t width;
            uint8_t symIdx;
            width = GetPulseWidth(PrevCntrVal, curVal);
					
            if(width > RX_SOF_MIN && width <= RX_SOF_MAX)
            {
                symIdx = SOF_IDX;
            }
            else if(width > RX_LONG_MIN && width <= RX_LONG_MAX)
            {
                symIdx = LONG_IDX;
            }
            else if(width > RX_SHORT_MIN && width <= RX_SHORT_MAX)
            {
                symIdx = SHORT_IDX;
            }
            else
            {
                ResetRx();
                return;
            }
            VPW_RxBuf[VPW_RxBufPtr] = symIdx;
            if(TxInProgress == 1)										//正在发送
            {
                if(VPW_RxBuf[VPW_RxBufPtr] != VPW_TxBuf[VPW_RxBufPtr])
                {
                    FinalizeTx();
                }
            }
            if(VPW_RxBufPtr < sizeof(VPW_RxBuf) - 2)
            {
                VPW_RxBufPtr++;
            }
						SetTimerAlarm(239*48);
        }
        PrevCntrVal = curVal;
		
	}

	if(ETM2->CONTROLS[0].CnSC & ETM_CnSC_CHF_MASK )//输入信号上升沿
	{
		ETM2->CONTROLS[0].CnSC &= ~ETM_CnSC_CHF_MASK;

	}
}

发送程序使用定时器0产生波形

/*****************************************************************************//*!
*
* @brief ETM1 回调函数
*        
* @param  none
*
* @return none
*
*****************************************************************************/
void ETM0_IRQHandler(void)
{
	   uint32_t nextVal;



		ETM_ClrOverFlowFlag(ETM0); 				//清除溢出标志位
	
		ETM_ClockSet(ETM0, ETM_CLOCK_NOCLOCK, ETM_CLOCK_PS_DIV16); 		//停止计数

	    nextVal = VPW_Symbols[VPW_TxBuf[VPW_TxBufPtr]];
	
				
        if((VPW_TxBuf[VPW_TxBufPtr] == EOF_IDX)||(VPW_TxBufPtr>=(TX_BUFLEN*8)))
        {
            FinalizeTx();
        }
        else
        {
					
					  ETM_SetModValue(ETM0,nextVal);
						ETM0->CNT = 0;
						ETM_ClockSet(ETM0, ETM_CLOCK_SYSTEMCLOCK, ETM_CLOCK_PS_DIV16); 		//开始计数

						GPIO_Toggle(GPIOA,J1850_OUT_MASK);
					
        }
        VPW_TxBufPtr++;
	
	
}


定义结构体 用于保存车机播放音乐相关信息。

typedef struct
{

	
	uint8_t rnd;
	uint8_t scan;
	uint8_t playing;
	uint8_t cd_button;
	uint8_t cd_power;
	
	uint8_t cd_status;
	
	uint8_t disc;           
	uint8_t track;          
	uint8_t minute;         
	uint8_t second; 
	
	uint8_t workSta;					// 工作状态0  关机 1 待机 2工作 
	uint8_t BIDIstate;                       // pointer to the current state handler routine
	uint8_t BIDIcount;
	
	uint8_t staCount;
	
	
} CD_CHANFER_STRUCT;

6、调试

7、大捷龙车机尾插接口定义

公头东南大捷龙车机白色插头

序号名称序号名称
16未知8
15BATT7可能AC
14NC6DGND
13可能AC 与7脚相连5AGND
12车机数据输出碟盒输入4左声道
11碟盒时钟输出车机输入3AGND
10碟盒数据输出车机输入2右声道
9不知道1NC

在这里插入图片描述
在这里插入图片描述

模块与白色插头连接方法

车机与模块引脚连接对应关系表

模块引脚白色插头引脚模块引脚白色插头引脚
L4 脚 左声道R2脚 右声道
AG5或者3脚 模拟地AG5或者3 脚 模拟地
IN12脚 数据输出CLK11脚 时钟
HU可能是2脚?需要测试OUT10脚数据输入
12V15脚 BATTDG6脚

备注: 数字地和模拟地不能连接到一起

在这里插入图片描述

8、安装方法

1、将汽车停在安全地方熄火,拔下车钥匙;

2、根据实际情况取出汽车CD车机;

3、使用配套的线束或者根据上文接口定义自己DIY线束,通过线束将模块和车机连起来;

4、插入钥匙打开钥匙 按车上(CD、CDC、DISC、SOURCE、SRC、MODE等按钮进入碟盒模式开始播放音乐;

5、调试没有问题后,如果不使用蓝牙,可以将模块放在车机的后方放回去,或者将模块放到手套箱中,自己喜欢放到哪都行。然后将车机放回即可安装完成;

注意:改装有风险,下手需谨慎,因车型的不同,难易程度不同,当你选择下手的时候,强烈建议找个老司机带你。

在这里插入图片描述

9、 使用方法

9.1 CD车机按钮功能定义

? 东南大捷龙车机在进入CD模式后,只有换歌旋钮、SCAN-、REP、RDM。这几个按钮可以使用。现在做以下映射。方向盘控制功能保留。

车机按钮映射表

车机按钮模块功能
换歌旋钮顺时针旋转上一曲/接电话
换歌旋钮逆时针旋转下一曲/挂电话
SCAN蓝牙/U盘切换
RDMU盘模式歌曲随机播放
REP预留

? 9.2 模块指示灯定义

? 红灯为U盘蓝牙状态指示灯,蓝灯为模块运行状态指示灯。

指示灯状态表

灯闪烁方式模块状态
绿灯常亮模块正常工作
红灯快闪进入蓝牙
红灯常亮连接成功
红灯慢闪正在播放
红灯关闭进入关机模式

状态改变说明表

条件动作
正在播放音乐,此时连接蓝牙音乐停止播放,进入蓝牙模式等待播放音乐
蓝牙模式,按下U盘模式按钮开始播放音乐
蓝牙连接上,正在播放U盘音乐蓝牙发出声音自动切换到蓝牙模式

测试视频

国产大捷龙增加蓝牙U盘播放音乐测试视频

11、 联系我

下面准备好了DIY套件,感觉动手吃力的朋友可以下_单购_买。

模块链接: 淘宝连接

? 升级服务

? 产品定制升级

产品定制升级

? 商务合作

? 汽车电子开发

? 电子产品开发

联系方式
请先加V沟通
VX : 15566031081
商务合作:15566031081

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-07-03 11:01:01  更:2022-07-03 11:02:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:36:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码