基于ARM的PC/104总线嵌入式工控机-CAN总线设计解析
需积分: 49 55 浏览量
更新于2024-08-07
收藏 5.38MB PDF 举报
"深入理解软件构造系统原理与最佳实践,本文档主要关注基于ARM的PC/104总线嵌入式工控机的设计与实现,特别是CAN总线和CPLD在其中的作用。"
本文档详细探讨了在工业控制领域中,如何利用低功耗且高性能的ARM处理器来构建满足特定需求的嵌入式工控机。ARM系列处理器因其低功耗特性,成为x86架构的替代选择,尤其适用于对功耗有严格要求的场合。在ARM处理器不直接支持PC/104总线的情况下,设计者采用了CPLD(复杂可编程逻辑器件)来实现ARM本地总线与PC/104总线之间的转换。
在PC/104总线设计部分,文档提到了CAN总线的应用。CAN(Controller Area Network)总线是一种广泛应用的串行通信协议,特别适合于实时性和可靠性要求高的工业环境。文中提到的CAN控制器是SJAl000,它与PCA82C200兼容,具备更多的增强功能,如标准帧和扩展帧数据结构,以及接收过滤器和错误管理机制。SJAl000有两种工作模式:Basic CAN模式和PeliCAN模式,后者完全支持CAN2.0B协议。该控制器通过CPLD与PC/104总线连接,其片选信号CS由CPLD根据高位地址译码决定,读写操作由CPLD解析IOW和IOR信号产生。
硬件设计中,作者详细描述了系统各个组成部分,包括最小系统、CAN网络、以太网络和PC/104总线控制器的实现。在PC/104总线控制器部分,深入分析了ARM本地总线时序与PC/104总线时序的差异,并用VHDL语言实现了总线控制器的逻辑设计。
软件方面,文章讲述了如何移植嵌入式Linux操作系统,包括配置、编译和下载运行调试的过程。同时,开发了针对PC/104总线的驱动程序,实现了地址映射和中断绑定。此外,还编写了专门针对PC/104的CAN总线驱动,详细阐述了驱动的初始化、中断处理、数据缓冲区管理和文件操作接口。
最后,作者针对机车工业控制领域的具体需求,开发了一个实际系统,并进行了性能测试。测试结果显示,系统的定点运算能力与x86相当,满足设计要求。该系统通过了严格的高低温和射频干扰测试,并在3个月的装车试运行中表现出良好的稳定性,完全能够满足实际应用的需求。
关键词:嵌入式系统;ARM处理器;PC/104总线;CAN总线;CPLD;Linux操作系统;驱动程序;工业控制。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-04-27 上传
2024-07-31 上传
2021-05-12 上传
2021-05-27 上传
黎小葱
- 粉丝: 24
- 资源: 3955
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器