微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 一种基于ARM920T的现场总线控制系统

一种基于ARM920T的现场总线控制系统

时间:01-17 来源:互联网 点击:

象,再跳转到中断对象记录的中断处理程序的位置执行。

  宏cyg_drv_interrupt_create(vector,priority,data,isr,dsr,handle,intr)用于产生设备的中断对象。其中,vector是中断向量,priority中断优先级,data是数据指针,isr是中断处理程序ISR的地址,dsr是中断滞后处理程序DSR的地址,handle是返回句柄,intr是中断对象存放的位置。

  宏cyg_drv_interrupt_attach(interrupt)用于将中断向量加入到中断向量链表。参数interrupt是将要连接的中断的句柄。

  设备中断绑定后,当设备产生中断时系统会找到相应的中断向量,然后把控制权交给中断处理程序,进行中断的处理。

  5、两种扩展方式比较

  对于两种不同的CAN与ARM9连接方式,IO口连接直观简单;而利用数据信号线连接能节省IO口,给CPU更多开发空间。两者在驱动程序上差异不大,主要体现在底层数据读写时序实现上。前者简单易于编写和理解,后者只是在对时序的理解上略有难度,并不会使代码更加冗长。

  6、结束语

  本文通过在现场总线控制系统上扩展CAN总线模块,详细讲解了如何在ARM9上扩展CAN总线模块,给出了全IO口扩展和利用数据信号线扩展两种方式;并详细说明如何在高实时性操作系统eCos上开发CAN驱动程序;最后对两种扩展方式做了简单的比较。该现场总线控制系统在国家十一五某国防项目中得到了很好的应用。同时也为大中型国有企业自动化生产线的建设和改造,电力系统自动化的实现提供很好的借鉴。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top