首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于ARM7+μC/OSII的数据采集系统设计 02

基于ARM7+μC/OSII的数据采集系统设计 02

3系统硬件结构
  系统的基本结构框图如图1所示。该系统采用了Samsung公司的S3C4510B作为系统与上位机沟通的桥梁,S3C4510B是基于以太网应用系统的高性价比16/32位RISC微控制器,他有如下几个主要特点:
  硬件方面内含一个由ARM公司设计的16/32位ARM7TDMI RISC处理器核,ARM7TDMI为低功耗、高性能的16/32核,最适合用于对价格及功耗敏感的应用场合。S3C4510B通过在arm 7TDMI核内容基础上扩展一系列完整地通用外围器件。
  片上资源包括2 个带缓冲描述符(buffer descriptor)的HDLC通道;2个UART通道;2个GD M A通道;2个32位定时器;18个可编程的I/O口。还有中断控制器;DRAM/SDRAM控制器;ROM/S RAM和FLASH控制器;系统管理器;1个内部32位系统总线仲裁器;1个外部存储器控制器等片内的逻辑控制电路。
  这些为μC/OSII的移植提供了优良的物理资源。
  软件支持方面他有配套的代码编辑调试环境ADS12和JTAG在线调试功能,使S3C4510B芯片软件可以直接用C编写,这就使μC/OSII的植入成为可能。
  12位高速A/D转换电路采用Analog Devices的AD574,该电路输出具有三态锁存功能。预处理电路包括了电流电压互感器、隔离电路和同步采样电路,他可以将信号转换成与AD574相 匹配的量值,供后续处理。通讯电路采用常用的以太网接口与上位机相连,而232接口可作为备用,这样该装置既可作为便携式系统使用,也可通过网络来对设备 实施实时监控。
  4软件设计部分
  软件部分要分别编写S3C4510B部分的程序和CPLD控制程序。前者可分为μC/OSII的移植和各个应用程序的编写,后者用VHDL语言实现。
  对于S3C4510B部分,根据整个装置实现的功能和对他的要求进行系统任务分割,并根据实际需要为各个任务分配优先级。系统大致可分为如下几个任务: 初始化CPLD控制参数;对FI FO的读取;与上位机的TCP/IP通讯;与上位机的串口通讯。对应每个任务,需要编写相应的应用程序,软件设计部分的关键技术有:
  (1)μC/OSII内核向S3C4510B中的移植,要根据处理器的特点合理地修改μC/OS II的3个与处理器相关的文件:OS_CPUH,OS_CPU_AASM,OS_CPU_C.C。主要是将文件中的汇编指令,改为arm7的汇编指令,并根据CPU的特点对文件中寄存器的初值进行改写。
  (2)内存配置问题。对于存储器容量的设计,要综合考虑μC/OSII内核代码和应用程序代码的大小。每个任务是独立运行的,必须给每个任务提供单独的栈空间(RAM),RAM总量的计算公式为:
  RAM总量=应用程序的RAM需求+内核数据区的RAM需求+各任务栈需求之总和+最多中断嵌套所需堆栈
  (3)TCP/IP协议在μC/OSII中的实现。为了满足嵌入式设备与Internet网络直接交换信息的要求,在μC/OSII中又移植了LwIP协议栈。
  LwIP是瑞士计算机科学院(Swedish Institute of Computer Science)的Adam  Dunkels等开发的一套用于嵌入式系统的开放源代码TCP/IP协议栈。LwIP的含义是Light Weight(轻型)IP协议。LwIP可以移植到操作系统上,也可以在无操作系统的情况下独立运行。LwIP TC P/IP实现的重点是在保持TCP协议主要功能的基础上减少对RAM的占用,一般他只需要几十k的RAM和40 k左右的ROM就可以运行,这使LwIP协议栈适合在低端嵌入式系统中使用。
  LwIP的特性有:支持多网络接口下的IP转发;支持ICMP协议;包括实验性扩展的的UDP(用户数据 报协议);包括阻塞控制、RTT估算、快速恢复和快速转发的TCP(传输控制协议);提供专门的内部回调接口(raw API)用于提高应用程序性能。
  LwIP可以很容易地在μC/OSII的调度下,为系统增加网络通信和网络管理功能。LwIP协议栈在设计时就考虑到了将来的移植问题,他把所有与硬 件,OS,编译器相关的部份独立出来,放在/src/arch目录下。因此LwIP在μC/OSII上的实现就是修改这个目录下的文件,其他的文件一般不 应该修改。在驱动中主要是根据S3C4510B内的以太网控制特殊功能寄存器,编写网络接口的处发送包、接收包函数,初始化以及用于以太网控制器的外部中 断服务程序。
  5结语
  采用基于ARM7的S3C4510B嵌入式微处理器,可以使系统小型化,便于提高性能以及与各种外设连接扩展,同时降低了成本。μC/OSII作为一个 源代码公开的操作系统,在具体应用种稳定可靠。本系统采用arm7+μC/OSII开发设计,具有精度高、运行稳定、实时性好、抗干扰能力强、性价比高的 特点,可以在各种工业场合中广泛应用,达到了设计的初衷。
返回列表