多路异步串行通信系统在光纤陀螺组合中的设计与实现
行通信时数据串的数据位数、停止位数、奇偶校验等。另外,还需要设置发送和接收的波特率及中断方式。
其中RHR为接收保持寄存器,THR为发送保持寄存器。FCR为FIFO控制寄存器,设置为FIFO使能。IER为中断使能寄存器,与FCR配合使用,设置为FIFO中断方式,也可以设置为DMA方式。LSR为线性状态寄存器,通过查询最低位检测FIFO或RHR中是否有数据。DLL及DLM为波特率设置寄存器,通过对晶振分频完成波特率的设置。当LCR的最高位为1时,才能改变DLL及DLM的设置。
以通道A为例,DSP对ST16C554初始化的C语言程序如下:
/*FOG1*/
*(char*)0xb0000032=0x80;/*lcr=80*/
*(char*)0xb0000002=0x08;/*dll=08*/
*(char*)0xb0000012=0x00;/*dlh=00*/
*(char*)0xb0000032=0xlb;/*lcr=1b*/
*(char*)0xb0000022=0x01;/*fcr=01*/
*(char*)0xb0000012=0x01;/*ier=01*/
*(char*)0xb0000022=0x03;/*fcr=01*/
*(char*)0xb0000022=0x01;/*fcr=01*/
四个通道都设置为FIFO方式及中断使能。通道A、通道B、通道C分别设置给RS232,波特率为115.2kBPS;通道D设置给RS485/422,波特率为921.6kBPS。
DSP对通道A的数据读取程序如下:
while((readtp&0x01)!=0)
{readdata=*(char*)0xb0000002;/*readrhr*/
readtp=*(char*)0xb0000052;/*read1sr*/
}
4与光纤陀螺的对接测试
将该系统与光纤陀螺对接,测试表明该系统完全满足设计要求。
图3为陀螺
仪的标度因数测试结果,图中横坐标为输入角速率,纵坐标为DSP输出的数据经D/A转换后的电压输出值,图中曲线是根据输入输出数据用最小二乘法拟合求得的。
该系统的软件及硬件已调试通过,并成功地应用于航天光纤陀螺角速度测量系统中。该方案能够灵活高效地完成DSP与多个PC机或传感器(即多个光纤陀螺)之间的异步串口通信,还可以实现与MODEM之间的标准接口。另外,若利用DSP的EDMA功能完成收发,还可以进一步提高系统性能,实现高速串行通信[4]。
《多路异步串行通信系统在光纤陀螺组合中的设计与实现(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/145014.html
其中RHR为接收保持寄存器,THR为发送保持寄存器。FCR为FIFO控制寄存器,设置为FIFO使能。IER为中断使能寄存器,与FCR配合使用,设置为FIFO中断方式,也可以设置为DMA方式。LSR为线性状态寄存器,通过查询最低位检测FIFO或RHR中是否有数据。DLL及DLM为波特率设置寄存器,通过对晶振分频完成波特率的设置。当LCR的最高位为1时,才能改变DLL及DLM的设置。
以通道A为例,DSP对ST16C554初始化的C语言程序如下:
/*FOG1*/
*(char*)0xb0000032=0x80;/*lcr=80*/
*(char*)0xb0000002=0x08;/*dll=08*/
*(char*)0xb0000012=0x00;/*dlh=00*/
*(char*)0xb0000032=0xlb;/*lcr=1b*/
*(char*)0xb0000022=0x01;/*fcr=01*/
*(char*)0xb0000012=0x01;/*ier=01*/
*(char*)0xb0000022=0x03;/*fcr=01*/
*(char*)0xb0000022=0x01;/*fcr=01*/
四个通道都设置为FIFO方式及中断使能。通道A、通道B、通道C分别设置给RS232,波特率为115.2kBPS;通道D设置给RS485/422,波特率为921.6kBPS。
DSP对通道A的数据读取程序如下:
while((readtp&0x01)!=0)
{readdata=*(char*)0xb0000002;/*readrhr*/
readtp=*(char*)0xb0000052;/*read1sr*/
}
4与光纤陀螺的对接测试
将该系统与光纤陀螺对接,测试表明该系统完全满足设计要求。
图3为陀螺
仪的标度因数测试结果,图中横坐标为输入角速率,纵坐标为DSP输出的数据经D/A转换后的电压输出值,图中曲线是根据输入输出数据用最小二乘法拟合求得的。
该系统的软件及硬件已调试通过,并成功地应用于航天光纤陀螺角速度测量系统中。该方案能够灵活高效地完成DSP与多个PC机或传感器(即多个光纤陀螺)之间的异步串口通信,还可以实现与MODEM之间的标准接口。另外,若利用DSP的EDMA功能完成收发,还可以进一步提高系统性能,实现高速串行通信[4]。
《多路异步串行通信系统在光纤陀螺组合中的设计与实现(第3页)》