新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于ARM嵌入式智能控制器的设计与实现

基于ARM嵌入式智能控制器的设计与实现

作者:时间:2009-05-07来源:网络收藏

良好的给系统的操作带来方便。系统中的GUI应综合考虑代

码占用的资源、GUI响应的速度和易于使用三个因素。若移植成熟的GUI源码,占用资源太大,响应速度相对较慢,本采用面向对象的设计方法,合理的定义了一些数据结构,使得图形化显示既满足要求,又具有良好的扩展性。

依据人机界面设计的具体要求,分析显示数据的特点,为方便参数的显示和处理我们定义了一系列的数据结构,从而使得系统的显示和修改异常方便。首先确定系统需要多少个窗口,每个窗口有多少个菜单,画出窗口之间的变迁图,可以知道所有的窗口应当组成一个树形结构。主要的数据结构如图2-5所示。

软件设计时,首先按照定义的数据结构定义每屏的显示数据和窗口处理函数,当有键按下时,系统依据当前键值、当前窗口号和当前光标确定系统按键后的新窗口号和当前光标,然后根据窗口号和光标从该窗口的数据区中取出将要显示的数据给窗口缓冲区,液晶显示的界面就是从窗口缓冲区中将数据直接取出并显示。

依据显示窗口中数据处理的行为,可把显示方法分为两种。一种是利用上述的显示方法,具有良好的统一性,另一种的单独处理。因为在显示的各个界面中,有些界面数据处理特别少,有些处理特别多,比如参数修改窗口界面,此时需要把这些窗口独立出来单独处理。当按键调用此窗口时,系统调用此窗口的专用窗口处理函数来处理,直到检测到退出此窗口的消息时,才结束此操作,调用另外模块。在实际工程中,合理利用这两种显示方法对于复杂行为的的处理带来方便。一般是系统的主要顶级窗口显示使用统一显示,而叶子窗口使用单独处理较好。

3.3 及控制

模拟量主要含有采集算法和数据处理两部分。为了确保采集的正确性,本文

采用中位值平均滤波方法。采集的数据多达32路,而且被系统频繁执行,因此好的设计结构至关重要。在综合权衡多路开关切换时间、启动转换切换时间和数据转换时间后,采用一路采集多次方法。采集模块在启动当前路模数转换的同时,对前一路的采集进行滤波处理并保存显示,这样节约了采集模块所用的时间。

3.4 网络通信模块

网络通信主要完成网卡芯片的初始化、数据的收发以及网络协议栈的移植。本系统网

卡芯片RTL8019AS内含16KRAM,用作发送和接收缓冲区。当有数据过来,通过本地DMA将数据从网线拷贝到网卡接收缓冲区,当缓冲区满时,再通过远程DMA将数据拷贝到内存供处理器处理。

网卡芯片的驱动程序主要通过对网卡芯片内部一系列寄存器的配置来网卡的复位、物理地址配置、读写缓冲区指针的配置和数据收发配置等。编写程序过程中应熟悉网卡芯片前32个地址空间的所完成的功能和操作方法,从而使网卡能正常工作。当完成了驱动程序后,就需要移植TCP/IP协议栈。在熟悉ARP、IP、ICMP、TCP、UDP、TELNET等协议以及各种公开源码的协议栈的基础上,本文选用代码小、效率高的uIP协议栈。在调试的过程中,依据网络原理的分层结构以及网络数据传输的打包和解包过程,一层一层的调试,并用VC编写一些网络截包程序和收发程序来联合调试,确保数据在传输过程中收发正常并按正确的方式流动。此外,调试过程应注意数据宽度以及边界对齐问题,否则数据将不能正确收发。

4 小结

器的设计不仅完成了基本的人机界面和输入输出操作,而且具有良好的通

信、数据查询、自动升级、自动开关机、数据自动记录、故障自动记录到片内FLASH以及故障数据向上位机传输等功能。经过反复测试与实验,各项性能均满足要求。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭