江蘇省淮安生物工程高等職業學校 陳友明
隨著電子技術及工業自動化的快速發展,無紙記錄儀的發展也應運而生,對于以往的操作單一、存儲容量小、實時性差及精度不高的記錄儀,已不能滿足當今企業的發展需求。嵌入式ARM處理器具有強大的硬件接口,大容量存儲以及處理速度快等特點,為無紙記錄儀的發展帶來了無限的發展空間。
無紙記錄儀摒棄了傳統有紙記錄儀中使用的記錄筆和記錄紙,提高了記錄儀本身的質量,增強了記錄儀的穩定性和可靠性,更重要的是降低了記錄儀的運行成本。無紙記錄儀是將工業現場的各種需要監視記錄的輸入信號,比如流量計的流量信號、壓力變送器的壓力信號、熱電阻和熱電偶的溫度信號等,通過高性能32位ARM微處理器進行數據處理,一方面在大屏幕液晶顯示屏幕上以多種形式的畫面顯示出來,另一方面把這些監察信號的數據存放在本機內的大容量存儲芯片內,以便在記錄儀上直接進行數據和圖形查詢、翻閱和打印。無紙記錄儀主要應用場合為:冶金、石油、化工、建材、造紙、食品、制藥、熱處理和水處理等各種工業現場。
目前ARM嵌入式芯片以它的功能強大,處理速度快及可移植操作系統統等功能特點受到了廣泛關注。以ARM作為記錄儀的核心控制器,將為無紙記錄儀的發展提供了一個更高的平臺。
Samsung S3C2440是一款輕量級微處理器,價格便宜、內部資源豐富。基本參數:ARM920T內核,400M主頻,最高可達到533M,支持NAND FLASH、NORFLASH、SDRAM、支持STN/TFT LCD、4通道DMA、3通道UART、2通道SPI、IIC總線、IIS/AC97音頻控制器、SD/MMC控制器、2通道USB HOST 1通道USB DEVICE、4通道PWM、8通道A/D轉換、觸摸屏控制器、RTC、CMOS攝像頭、多功能I/O及多種電源管理。
系統框圖如圖1所示。
在眾多嵌入式操作系統中,Linux目前發展最快、應用最為廣泛。性能優良、源碼開放的Linux具有體積小、內核可裁減、網絡功能完善、可移植性強等諸多優點,非常適合作為嵌入式操作系統。一個最基本的Linux操作系統應該包括:引導程序、內核與根文件系統三部分。
圖1 系統結構框圖
圖2 RS-485總線通訊結構圖
Linux對S3C2440處理器支持得相當好,操作系統內核和應用程序都是開放源碼的。因此,Linux可以完全按照自己的需要裁減配置系統,使得尺寸更小,而且Linux操作系統性能比Windows操作系統性能更優越。另外,可以避免支付Windows產品的版稅。S3C2440在Linux社區有龐大的用戶群,可以獲取豐富的開發調試信息。我們選擇Linux作為記錄儀的操作系統。
由于圖形界面要求并不復雜,可以選擇Qt/Embeded圖形系統。Qt/Embeded是面向嵌入式系統的Qt版本,是Qt的嵌入式Linux窗口,是完整的自包含C++ GUI和基于Linux的嵌入式品臺開發工具。Qt/Embeded API可用于多種開發項目。許多基于Qt的X Window程序可以非常方便地移植到嵌入式版本。
Qt/Embedded的底層圖形引擎基于framebuffer。framebuffer是一種驅動程序接口,它將顯示設備抽象為幀緩沖區。該驅動程序的設備文件一般是/dev/fb0、/dev/fb1等。對用戶而言,它和/dev下的其他設備沒有什么區別,用戶可以把framebuffer看成一塊內存,既可以從這塊內存中讀取數據,也可以向其中寫入數據,而寫操作立即反應在屏幕上。為運行Qt/Embedded,嵌入式Linux內核要支持framebuffer。
Qt/Embedded是Qt的面向嵌入式應用的簡化版本,它包括一組完備的GUI類、操作系統封裝、數據結構類、功能類和組合類。大部分Qt的應用程序可以經過簡單的編譯與重設窗口大小移植到Qt/Embedded。
RS485總線通訊結構如圖2所示,主站是一臺主機,從站是多臺智能儀表。從站通訊端口為RS-485物理協議,每臺儀表分配唯一的地址,通訊總線接至控制室后經232/485適配器轉換為RS-232物理接口接入主。
在Linux環境下,串口等終端設備都被當做文件來看待,串口文件名為ttys0,后面是ttys1、ttys2等,在Linux中,打開串口設備和打開普通文件一樣,使用的是open()系統調用;fd=open(“/dev/ttys0”,O_RDWR | O_NOCTTY | O_NONBLOCK);該函數打開串口COM1,并返回一個整型值的串口文件描述符fd。函數的第二個參數用來說明此函數的多個選型,它是定義在<fcntl.H>頭文件中的一個或多個常量的或運算:O_RDONLY只讀打開、O_WRONLY只寫打開、O_RDWR讀寫打開,這三個常量必須指定一個且只能指定一個。
本文較全面地描述了基于ARM的無紙記錄儀的設計思路,系統地闡述了無紙記錄儀的硬件和軟件設計。隨著嵌入式系統的發展和嵌入式ARM芯片在工業現場儀表上的不斷應用,功能更強大的新型工業智能儀表將不斷涌現。
[1]周立功.ARM嵌入式系統基礎教程(第二版)[M].北京:北京航空航天大學出版社,2008.
[2]孫瓊.嵌入式Linux應用程序開發詳解[M].
[3]楊兆光.基于ARM的無紙記錄儀系統設計[J].微型計算機信息,2005.