UART通信实验(二) McBSP软件模拟异步通信
HX-5509开发板
要点:GPIO模式,McBSP不需要时钟和帧同步信号 UART通信的两种方式: McBSP in Serial Port Mode McBSP in GPIO Mode 要点:GPIO模式,McBSP不需要时钟和帧同步信号 1,串口的初始化 2,uart协议的模拟
通信协议 PC机与C5509A串行通信必须遵循起止式异步协议,它的特点是一个字符一个字符传输,并且传送一个字符总是以起始比特开始,以停止位结束,字符之间没有固定的时间间隔要求。起始比特位始终为低电平, 1比特;字符位可以选择4~8比特;奇偶校验位可以为无、奇、偶、空格、标志;停止位为1、1. 5或2比特。理论上,发送过程和接收过程可选择不同的数据格式进行通信,但通常我们为了开发程序的简化和通信方便都采用统一的数据格式(如: 1个起始位+ 8个数据位) 。 Uart数据包格式 最低位 例:发送0xAA 1
通信协议 UART异步串口RS-232通信规定了字符数据的传输格式 在发送间隙,通信线路总是处于逻辑“1”状态(高电平 ) 在字符数据传送过程中,数据位从最低位开始传送。 波特率: UART的通信时钟由使用的通信波特率(每秒传输的数据位个数)决定,通常为2400,9600,19200等。 本实验中:GPIO模式下,DSP与PC的通信波特率是由软件设定的 DSP端通过timer设置为192 000 PC端baud固定为192 00
波特率 过采样。本实验中采用10倍过采样。 理想情况下,串口时钟信号边沿与数据位边沿精确对应。但实际情况中,会由于timer产生的波特率不可能是精确的192 000,而产生时钟偏斜。时钟偏斜具有累积效应。
软件模拟 例:DSP接收一个PC端发送的字符(char),0xAA(1010 1010) 解码时刻
软件模拟 例:DSP接收一个PC端发送的字符(char),0xAA(1010 1010) 解码: 先让uart_rec=0000 0000 0000 0000 case1 0000 0010 case2 0000 0000 case3 0000 1000 case4 0000 0000 case5 0010 0000 case6 0000 0000 case7 或 1000 0000 case8 解码结果: 1010 1010=0xAA
Main中的循环 While:查询收发状态 recflag Recflag=0 sendflag Sendflag=1 其他变量初始化