自上世纪90年代Linux首次应用于嵌入式系统,至今已过了近10年。10年间,随着芯片技术、总线技术以及计算机技术的发展,嵌入式处理器也从8位单片机时代发展到了如今高低端处理器百花齐放的时代。32位、16位处理器的价格不再是那么高不可攀。在这种背景下,本课题拟研究一种适用于小规模现场的,低成本的,具有RS-232C和Can总线通讯方式且可在线进行软件更新的监控系统。 现今,很多监控系统都以装有微软操作系统的IPC作为监督平台,以单片机、PLC、DSP等作为DDC控制器,通过串口等方式通讯。其开发周期短,但成本总体较高,通讯方式单一。 本课题首先对几种嵌入式处理器和嵌入式操作系统进行比较,确定了以ARM核的处理器和Linux作为本监督平台的处理器和操作系统;其次研究了Linux在ARM上的移植以及运行过程,包括引导加载程序vivi、Linux2.6内核、根文件系统、各种外设(包括触摸屏与以太网等)驱动程序的移植,以及基于Qt/E的串口通讯的图形用户界面的开发;最后对Can总线以及RS-232C通讯方式在ARM7核的处理器及单片机上的应用进行研究。 基于以上研究开发的监控系统的监督平台以S3C2410处理器为核心,以Linux2.6内核为操作系统,以触摸屏为主要人机界面,具有RS-232C和以太网通讯方式,其成本较低,体积较小,功能较为灵活;其DDC控制器由基于STC5410AD和ARM7核的LPC2119的两块控制板以及一块RS-232C与Can总线转换板组成,其控制功能更加强大,通讯方式也更加多样化;另外,监督平台与DDC控制器均可在线更新程序,降低了系统维护难度。 经过实践调试,本监控系统的软硬件均工作正常,实现了预期目标。本监控系统可应用于电力、化工、机电等多个领域的现场,具有较强的通用性。
上传时间: 2013-07-08
上传用户:zhch602
随着计算机技术、通信技术、集成电路技术和控制技术的发展,传统的工业控制领域正经历着一场前所未有的变革,开始向网络化方向发展。本文即从未来工业控制网络发展的需要出发,设计并实现了以S3C2410微处理器为核心的嵌入式网络控制器。 本文以S3C2410-32 位微处理为核心,设计并实现了具有1路以太网接口、1路 USB Host 接口、1路USB Device 接口、3路RS232串口、1个Can总线扩展卡、1个RS485扩展卡、1个RS422扩展卡使用、8路A/D、1路D/A、4路 PWM、一个 240×320TFT LCD 显示触摸屏的功能强大的嵌入式网络控制器。并在此基础上,结合嵌入式操作系统Windows CE建立了一个嵌入式软件开发平台。 在深入研究和分析CANopen协议的基础上,实现了基于Windows CE 的嵌入式 CANopen 协议栈,大大提高了嵌入式网络控制器在现场总线上的通信和控制能力,为新型的网络控制算法研究提供了实验平台。在探讨了TCP/IP协议的基础上研究了基于 Windows CE 的嵌入式 TCP/IP 协议栈,掌握了Windows CE 平台的网络 Socket 通信编程,使控制器能够通过以太网接到Intranet或Intemet上。 在完成嵌入式网络控制器硬件与软件设计的基础上,将控制器应用到了网络化的嵌入式数控系统的中央数控单元中,实现数控系统等数控设备小型化、网络化和集成化的需要。并以此为基础,结合计算机控制实验室建设,构建了三层(信息层、控制层和设备层)工业网络实验平台,实现了实验室设备真正的网络互连,为网络控制研究提供了一个高性能的平台。
上传时间: 2013-06-10
上传用户:hzy5825468
汽车Can总线J1939中文版协议,详细介绍了其总线诊断,注册方法.
上传时间: 2013-07-07
上传用户:jkhjkh1982
LAMOST(Large Sky Area Multi-Obiect Fiber Spectroscopy Telescope,大天区面积多目标光纤光谱天文望远镜)需要对焦而上的4 000个光纤定位单元进行精确定位,一个光纤定位单元需要两个步进电机来驱动,即需要对8 000个电机进行驱动控制。如何对这8 000个电机进行有效的控制,是本文主要的研究内容。 本义引入EDA(Electronic Design Automation),技术,以FPGA和Can总线为硬件载体来进行设计。FPGA相比较于DSP,单片机而言,具有10管脚多,资源丰富,使用灵活等优点,可以存片内集成多个电机的摔制,这样对于提高系统的集成度,节约成本无疑有着很大的帮助。 在电机的控制当中,其失步和过冲会直接影响到系统的精度,所以需要对电机脉冲频率加以控制,对于在平稳状态下能正常工作的电机,失步往往发生在启动停止等脉冲频率突然发生改变的时刻。具体实现方法是通过实验找出一条理想的加减速曲线,再将曲线离散化,并把离散化后的加减速分频系数存储在FPGA片内ROM里而,当电机运行到对应的步数时,取出分频系数来获取对应的运行频率。 在LAMOST观测中,光纤定位单元的零位是个很重要的基准,在每次观测之前,电机都要回零,理论上电气零位和机械零位在同一点上,如果电气检测到达零位则认为已经到达机械零位位置。但是实际中由于装配等一些原因,可能会出现零位短路和零位断路的情况。零位断路是指电机处于机械零位,但是电气不能检测到;零位短路是指电机不在机械零位,但是电气已经检测到处于零位。这两种情况会造成越界和机械零位一直被挤压的后果,有可能会损坏光纤定位单元,为了防止这些情况出现,软件程序中加入了计数器,从而从有效地保护了光纤定位单元,同时将这些状况向上反馈,以便维护和检修。 在本文完成之时,能够控制驱动336个光纤定位单元的小系统已经在北京天文台兴隆观测站实际投入运行,并于2007年5月28日获得首条光谱,取得了不错的效果。
上传时间: 2013-04-24
上传用户:afeiafei309
本系统是基于LM3S8971实现了通过Ethernet或者Can总线来控制无刷直流电机,可以实现无刷直流电机有方波传感器和方波无传感器运行,同时支持有传感器正弦波运行。
上传时间: 2014-01-13
上传用户:三人用菜
构建了基于单片机芯片MC9S12DG128与FPGA的电池管理系统,实现了数据监测、电池均衡、安全管理、荷电状态(SOC)估计、局域网(CAN)通信等功能。详细介绍了使用该系统模块的电池包的分布式结构特点,电池管理模块的Can总线接口及硬件和软件功能设计。
上传时间: 2013-11-07
上传用户:冇尾飞铊
基于嵌入式实时操作系统的OBD-II诊断协议框架,以Cortex-M3为内核,采用uc/os II操作系统实现了ISO15765协议,成功通过Can总线读取了车辆的OBD-II系统数据,通过上位机监控窗口,能实时检查汽车故障码与汽车传感器数据。可在此基础上评价汽车健康状况,并可对故障及早预防,降低行车成本,提供行车安全性;本设计充分考虑中国汽车市场主流总线发展的情况,提供了在复杂的车载环境下远程车载诊断设备的解决方案。
上传时间: 2013-11-19
上传用户:爱死爱死
该系统采用STM32F103作为主控芯片,通过Can总线控制多个电源模块并联工作并使其电流平均,达到大功率输出的目的。系统具有多种工作模式和外设接口,人机界面友善。实际应用表明,系统工作稳定,达到设计要求。
上传时间: 2013-11-09
上传用户:黄蛋的蛋黄
本书针对Atmel公司的AVR系列单片机和ImageCraft公司的ICC AVR开发环境,详细地介绍了AT90LS8535的C语言程序设计。全书共有13章,其内容既涉及到了单片机的结构原理、指令系统、内容资源和外部功能扩展,又包含了单片机的编程工具——ICC AVR C编程器的数据类型、控制流、函数和指针等。本书的特点是:深入浅出,从最基本的概念开始,循序渐进地讲解单片机的应用开发;列举了大量实例,使读者能从实际应用中掌握单片机的开发与应用技术。本书适合作为从事单片机开发人员的参考用书。书中先后讲解了C语言基础、AVR单片机基础,并举了一些简单的实例。本书非常适合初学者。 【目录信息】 第1章 单片机系统概述 1. 1 AVR系列单片机的特点 1. 2 AT90系列单片机简介 第2章 AT90LS8535单片机的基础知识 2. 1 AT90LS8535单片机的总体结构 2. 1. 1 AT90LS8535单片机的中央处理器 2. 1. 2 AT90LS8535单片机的存储器组织 2. 1. 3 AT90LS8535单片机的I/O接口 2. 1. 4 AT90LS8535单片机的内部资源 2. 1. 5 AT90LS8535单片机的时钟电路 2. 1. 6 AT90LS8535单片机的系统复位 2. 1. 7 AT90LS8535单片机的节电方式 2. 1. 8 AT90LS8535单片机的芯片引脚 2. 2 AT90LS8535单片机的指令系统 2. 2. 1 汇编指令格式 2. 2. 2 寻址方式 2. 2. 3 伪指令 2. 2. 4 指令类型及数据操作方式 2. 3 应用程序设计 2. 3. 1 程序设计方法 2. 3. 2 应用程序举例 第3章 AT90LS8535单片机的C编程 3. 1 支持高级语言编程的AVR系列单片机 3. 2 AVR的C编译器 3. 3 ICCAVR介绍 3. 3. 1 安装ICCAVR 3. 3. 2 设置ICCAVR 3. 4 用ICCAVR编写应用程序 3. 5 下载程序文件 第4章 数据类型. 运算符和表达式 4. 1 ICCAVR支持的数据类型 4. 2 常量与变量 4. 2. 1 常量 4. 2. 2 变量 4. 3 AT90LS8535的存储空间 4. 4 算术和赋值运算 4. 4. 1 算术运算符和算术表达式 4. 4. 2 赋值运算符和赋值表达式 4. 5 逻辑运算 4. 6 关系运算 4. 7 位操作 4. 7. 1 位逻辑运算 4. 7. 2 移位运算 4. 8 逗号运算 第5章 控制流 5. 1 C语言的结构化程序设计 5. 1. 1 顺序结构 5. 1. 2 选择结构 5. 1. 3 循环结构 5. 2 选择语句 5. 2. 1 if语句 5. 2. 2 switch分支 5. 2. 3 选择语句的嵌套 5. 3 循环语句 5. 3. 1 while语句 5. 3. 2 do…while语句 5. 3. 3 for语句 5. 3. 4 循环语句嵌套 5. 3. 5 break语句和continue语句 第6章 函数 6. 1 函数的定义 6. 1. 1 函数的定义的一般形式 6. 1. 2 函数的参数 6. 1. 3 函数的值 6. 2 函数的调用 6. 2. 1 函数的一般调用 6. 2. 2 函数的递归调用 6. 2. 3 函数的嵌套调用 6. 3 变量的类型及其存储方式 6. 3. 1 局部变量 6. 3. 2 局部变量的存储方式 6. 3. 3 全局变量 6. 3. 4 全局变量的存储方式 6. 4 内部函数和外部函数 6. 4. 1 内部函数 6. 4. 2 外部函数 第7章 指针 7. 1 指针和指针变量 7. 2 指针变量的定义和引用 7. 2. 1 指针变量的定义 7. 2. 2 指针变量的引用 7. 2. 3 指针变量作为函数参数 7. 3 数组与指针 7. 3. 1 指向数组元素的指针变量 7. 3. 2 数组元素的引用 通过指针 7. 3. 3 数组名作为函数参数 7. 3. 4 指向多维数组的元素的指针变量 7. 4 字符串与指针 7. 4. 1 字符串的表示形式 7. 4. 2 字符串指针变量与字符数组的区别 7. 5 函数与指针 7. 5. 1 函数指针变量 7. 5. 2 指针型函数 7. 6 指向指针的指针 7. 7 有关指针数据类型和运算小结 7. 7. 1 有关指针的数据类型的小结 7. 7. 2 指针运算的小结 第8章 结构体和共用体 8. 1 结构体的定义和引用 8. 1. 1 结构体类型变量的定义 8. 1. 2 结构体类型变量的引用 8. 2 结构类型的说明 8. 3 结构体变量的初始化和赋值 8. 3. 1 结构体变量的初始化 8. 3. 2 结构体变量的赋值 8. 4 结构体数组 8. 4. 1 结构体数组的定义 8. 4. 2 结构体数组的初始化 8. 5 指向结构体类型变量的指针 8. 5. 1 指向结构体变量的指针 8. 5. 2 指向结构体数组的指针 8. 5. 3 指向结构体变量的指针做函数参数 8. 6 共用体 8. 6. 1 共用体的定义 8. 6. 2 共用体变量的引用 第9章 A190LS8535的内部资源 9. 1 I/O 口 9. 1. 1 端口A 9. 1. 2 端口B 9. 1. 3 端口C 9. 1. 4 端口D 9. 1. 5 I/O口的编程 9. 2 中断 9. 2. 1 单片机的中断功能 9. 2. 2 AT90LS8535单片机的中断系统 9. 2. 3 1CCAVRC编译器的中断操作 9. 2. 4 中断的编程 9. 3 串行数据通信 9. 3. 1 数据通信基础 9. 3. 2 AT90LS8535的同步串行接口 9. 3. 3 AT90LS8535的异步串行接口 9. 4 定时/计数器 9. 4. 1 定时/计数器的分频器 9. 4. 2 8位定时/计数器0 9. 4. 3 16位定时/计数器1 9. 4. 4 8位定时/计数器2 9. 5 EEPROM 9. 5. 1 与EEPROM有关的寄存器 9. 5. 2 EEPROM读/写操作 9. 5. 3 EEPROM的应用举例 9. 6 模拟量输入接口 9. 6. 1 模数转换器的结构 9. 6. 2 ADC的使用 9. 6. 3 与模数转换器有关的寄存器 9. 6. 4 ADC的噪声消除 9. 6. 5 ADC的应用举例 9. 7 模拟比较器 9. 7. 1 模拟比较器的结构 9. 7. 2 与模拟比较器有关的寄存器 9. 7. 3 模拟比较器的应用举例 第10章 AT90LS8535的人机接口编程 10. 1 键盘接口 10. 1. 1 非矩阵式键盘 10. 1. 2 矩阵式键盘 10. 2 LED显示输出 10. 2. 1 LED的静态显示 10. 2. 2 LED的动态扫描显示 10. 2. 3 动态扫描显示专用芯片MC14489 10. 3 LCD显示输出 10. 3. 1 字符型LCD 10. 3. 2 点阵型LCD 10. 4 ISD2500系列语音芯片的编程 10. 4. 1 ISD2500的片内结构和引脚 10. 4. 2 ISD2500的操作 10. 4. 3 ISD2500和单片机的接口及编程 10. 5 TP-uP微型打印机 10. 5. 1 TP-uP打印机的接口和逻辑时序 10. 5. 2 P-uP打印机的打印命令和字符代码 10. 5. 3 AT90LS8535与TP-uP系列打印机的接口及编程 10. 6 IC卡 10. 6. 1 IC卡读写装置 10. 6. 2 IC卡软件 第11章 AT90LS8535的外围扩展 11. 1 简单I/O扩展芯片 11. 1. 1 用74LS377扩展数据输出接口 11. 1. 2 数据输入接口 11. 2 模拟量输出 11. 2. 1 D/A转换器简介 11. 2. 2 8位数模转换器DAC0832 11. 2. 3 8位数模转换器与单片机的接口及编程 11. 2. 4 12位数模转换器DACl230 11. 2. 5 12位数模转换器与单片机的接口及编程 11. 3 可编程I/O扩展芯片8255A 11. 3. 1 8255A的引脚和内部结构 11. 3. 2 8255A的工作方式 11. 3. 3 8255A的控制字 11. 3. 4 AT90LS8535和8255A的接口 11. 4 带片内RAM的I/O扩展芯片8155 11. 4. 1 8155的引脚和内部结构. 11. 4. 2 8155的I/O口工作方式 11. 4. 3 8155的定时/计数器 11. 4. 4 8155的命令和状态字 11. 4. 5 AT90LS8535与8155的接口及编程 11. 5 定时/计数器芯片8253 11. 5. 1 8253的信号引脚和逻辑结构 11. 5. 2 8253的工作方式 11. 5. 3 8253的控制字 11. 5. 4 AT90LS8535与8253的接口及编程 11. 6 实时时钟芯片DS1302 11. 6. 1 DS1302的引脚和内部结构 11. 6. 2 DS1302的控制方式 11. 6. 3 AT90LS8535与DS1302的接口与编程 11. 7 数字温度传感器DS18B20 11. 7. 1 DSl8B20的引脚和内部结构 11. 7. 2 DS18B20的温度测量 11. 7. 3 AT90LS8535与DS18B20的接口与编程 第12章 AT90LS8535的通信编程 12. 1 串口通信 12. 1. 1 异步串口UART通信 12. 1. 2 同步串口SPI通信 12. 2 I2C总线 12. 2. 1 I2C总线协议 12. 2. 2 采用AT90LS8535的并行I/O口模拟I2C总线 12. 3 Can总线 12. 3. 1 Can总线的特点 12. 3. 2 CAN协议的信息格式 12. 3. 3 CAN控制器SJA1000 12. 3. 4 AT90LS8535与SJA1000的接口及编程 12. 4 AT90LS8535单片机与PC的串行通信 12. 4. 1 基于VC 6. 0的PC串口通信 12. 4. 2 应用实例 第13章 系统设计中的程序处理方法 13. 1 数字滤波处理 13. 1. 1 平滑滤波 13. 1. 2 中值滤波 13. 1. 3 程序判断滤波 13. 2 非线性处理 13. 2. 1 查表法 13. 2. 2 线性插值法
上传时间: 2013-11-04
上传用户:元宵汉堡包
介绍了Can总线和P87C591单片机的特点,给出了基于P87C591单片机的信号采集节点的软、硬件设计,指出了硬件电路设计中应注意的问题,在软件设计中重点介绍了节点初始化、报文发送和报文接收等子程序。 Abstract: The features of CAN Bus and the microcontroller P87C591 are introduced, and the design of hardware circuit and soft configuration of the signals collection node based on P87C591 are presented. The problems in designing hardware circuit are discussed.Initialization subprogram, transmiting subprogram and receiving subprogram are emphasized in soft configuration.
上传时间: 2013-11-03
上传用户:BIBI