关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于AT91RM9200的导航计算机设计

基于AT91RM9200的导航计算机设计

作者:时间:2010-06-30来源:网络收藏

EP2C8Q208C6与周边器件的连接关系如图3所示。

本文引用地址:http://www.eepw.com.cn/article/202534.htm


由图3可见,其外部数据接口扩展可以通过TLl6C754B来实现。TLl6C754B可以产生四个独立的中断信号,因此,每个可以扩展四个串口,以将四个信号加到FPGA的IO输入引脚。在FPGA内部做或运算,运算结果再通过输出引脚送给A的中断信号。同时,将这四个中断信号通过一个缓冲器锁存入数据总线,中断信号高有效。当A检测到中断输入引脚为高电平时,便会去数据总线读取数据,并依次判断是哪个扩展串口产生的中断信号,然后去相应的串口读取数据。这样,便可通过FPGA实现数据接口的扩展。
1.3 IO接口模块
由于导航计算机的接口较多,对应的接口分配便成了一个很重要的问题。本文充分利用了中央处理器A自身的4个UART接口,其中两个直接对应导航计算机的RS232接口,其余两个通过专用芯片SNll68转换为可满足RS422A协议的串口。而剩余的RS422A接口则采用2片串口扩展芯片TLl6C754B扩展出8个RS232数据接口。然后通过SNll68转换为RS422A数据接口。也可以采用HS3182和HS3282实现RS429数据接口的扩展。

2 软件设计
本设计的控制处理器软件部分可用C语言编写,主要完成系统初始化和数据收发两部分功能。
2.1 系统初始化
系统上电后,首先对系统的各个功能模块初始化。包括串口配置初始化、串口中断接收初始化、754中断初始化和中断服务程序等。
ARM自身串口初始化主要是配置系统时钟和波特率;
ARM自身串口接收中断初始化主要是设置中断优先级、外设ID号、中断服务程序地址;
754中断初始化主要是配置外设数据总线宽度、设置扩展串口及其波特率;
而各个中断服务程序都要首先判断是不是该中断服务程序应该响应的,然后再对接收到的数据进行处理。
2.2 数据收发
初始化完成后,系统即可开始正常工作,并按照给定速率发送数据,同时在接口有数据时接收数据。
(1)数据接收
在ARM自带的串口有数据时,当接收数据的缓存存满以后,会产生一个接收满中断,然后调用中断服务程序,以接收数据。而当通过TLl-6C754B扩展的接口有数据时,如果接收数据的缓存满了以后,同样会产生一个接收满中断,此时,ARM处理器先从扩展地址读取其中断号,判断是哪一个扩展接口的中断,然后调用相应的中断服务程序去接收数据。
(2)数据发送
ARM处理器可产生一个10 ms的周期性中断,并以这个时间作为基准按照设计给定的速率发送数据。ARM自带的串口采用PDC方式发送,设定相应串口的PDC控制器,即把要发送的数据的地址和数据长度分别赋给PDC控制器的寄存器PDC_TPR和PDC_TCR。通过TLl6C754B扩展的接口发送数据时,应该先选通发送数据使用的是那一路通道,然后用普通串口方式发送数据。

3 结束语
本文介绍了一种基于RM的导航计算机的设计方案。该导航计算机可利用可编程逻辑器件扩展多路外部数据接口,并采用中断接收多路输入数据接口的数据,再经解算处理,最后将结果由输出数据接口输出。本系统目前已成功应用于实际工作。实践检验,其系统功能可以满足实际需要。


上一页 1 2 下一页

关键词: 9200 AT 91 RM

评论


相关推荐

技术专区

关闭