新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于音频接口的数据传输模块设计

基于音频接口的数据传输模块设计

作者:时间:2014-03-18来源:网络收藏

c.JPG

3.2
音频输入输出线路上传输的数据信号采用差分曼彻斯特编码,不进行载波调制与解调,直接在音频线路上传输数据编码信号。具体协议机制如下:
(1)基于音频输入输出接口的方法是一种串行通讯方法,参考标准同步串行通讯协议,采用差分曼彻斯特编码,其特点为每发送一位至少有一个跳变,以适应在只能传输交流的音频输入输出线路上传输数据。通信信号中使用中间时刻的跳变来表示发送的0或1,第一个跳变的如果是正跳变表示1,如果是负跳变表示0,之后的跳变与前一个跳变进行差分,由相比较的结果决定是1或0,如果当前位跳变方向与前一位的跳变方向相同,则表示为0,否则表示为1。采用差分曼彻斯特编码,通信双方的同步允许差半位时间,同步差半位时间内接收的数据也不受影响。
(2)是双工方式,从手机输出数据的传输使用音频输出线路,进入手机的使用音频输入线路,发送数据前让总线空闲准备,提示接收方做好接收准备。总线空闲准备是用连续发送8位以上的0来表示。
(3)串行通讯采用帧起始标志进行同步,帧起始可以从任意一位开始,串行通讯的帧起始标志采用与标准串口通信同步中一样的标识,即连续发送6个1,即发送字符0x7e表示发送了帧起始标志。
(4)串行通讯采用帧结束标志表示本次数据发送结束,进入总线空闲状态。连续发送7个1,即发送字符0x7f表示发送了帧结束。串行通讯中,线路上传输的数据的单位为位,发送Byte时首先发送最高位,最后发送最低位,发送数据时字节间没有间隔。发送数据时,数据中很可能有连续的6个1,这与帧起始标志和帧结束标志相同,会造成通讯歧义。为消除歧义,规定当发送数据时,连续发送5个1后,必须发送一位无效的0,再接着发送其他数据。而接收到连续的5个1后,需要删除接着收到的0。这连续的5个1并非一定在1个Byte中,例如,两个Byte 0x0f和0xc0,每个Byte都没有连续的5个1,但先发送0x0f后发送0xc0时,就有连续的5个1了,需要动态插入、删除一位0。
(5)所述基于音频输入输出接口的串行通讯中,编码信息流一般以块形式表示,一个信息流块包含:块头和块负载信息,线路上传输的数据帧格式如图4所示。

d.JPG



4 结束语
根据嵌入式开发的一般原理,设计了数据传输模块的结构,进而完成数据传输模块的硬件设计,软件设计中完成了主控系统、各相关电路的控制程序,采用差分曼彻斯特码传输数据,能满足串行通信的同步要求,保障了数据传输的稳定性。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭