SN75LBC184是RS485驅(qū)動(dòng)芯片。我們將S3C44B0的第二個(gè)串口(UART1)擴(kuò)展為系統(tǒng)的RS485總線接口。該接口是CPU與“三表”及刷卡器等設(shè)備的通信接口。CPU按照主從模式與“三表”進(jìn)行通信。CPU定義為主設(shè)備,“三表”為從設(shè)備。主從設(shè)備都有唯一的設(shè)備地址,通信時(shí),主設(shè)備向指定地址的從設(shè)備發(fā)查詢命令,從設(shè)備返回當(dāng)前數(shù)據(jù)給主設(shè)備。4.系統(tǒng)軟件設(shè)計(jì)4.1終端軟件傳統(tǒng)的單片機(jī)程序設(shè)計(jì)基本上都采用順序結(jié)構(gòu),實(shí)時(shí)性低且CPU對(duì)資源的利用率
SN75LBC184是
RS485驅(qū)動(dòng)芯片。我們將S3C44B0的第二個(gè)串口(UART1)擴(kuò)展為系統(tǒng)的RS485總線接口。該接口是
CPU與“三表”及刷卡器等設(shè)備的通信接口。CPU按照主從模式與“三表”進(jìn)行通信。CPU定義為主設(shè)備,“三表”為從設(shè)備。主從設(shè)備都有唯一的設(shè)備地址,通信時(shí),主設(shè)備向指定地址的從設(shè)備發(fā)查詢命令,從設(shè)備返回當(dāng)前數(shù)據(jù)給主設(shè)備。
&n
bsp;
4.系統(tǒng)軟件設(shè)計(jì)
4.1終端軟件
傳統(tǒng)的單片機(jī)程序設(shè)計(jì)基本上都采用順序結(jié)構(gòu),實(shí)時(shí)性低且CPU對(duì)資源的利用率不高。這里,我們采用了嵌入式實(shí)時(shí)操作系統(tǒng)VxWorks,它是美國(guó)風(fēng)河(WindRiver)公司于1983年設(shè)計(jì)開發(fā)的一種嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)。終端軟件設(shè)計(jì)包括針對(duì)系統(tǒng)硬件平臺(tái)進(jìn)行的操作系統(tǒng)的移植和在VxWorks平臺(tái)上應(yīng)用程序的設(shè)計(jì)兩部分。操作系統(tǒng)的移植的重點(diǎn)也即難點(diǎn)是BSP(Board Support Package)的設(shè)計(jì)。VxWorks本身提供了針對(duì)許多處理器的BSP,但針對(duì)S3C44B0的BSP并未提供。在設(shè)計(jì)系統(tǒng)BSP時(shí),我們首先仔細(xì)研究了其中一種BSP代碼范例,了解并掌握了BSP的結(jié)構(gòu),然后在風(fēng)河公司針對(duì)ARM處理器提供給用戶的BSP模板的基礎(chǔ)上設(shè)計(jì)了本系統(tǒng)的BSP,限于篇幅,對(duì)操作系統(tǒng)的移植部分本文將不作闡述。
監(jiān)控終端的應(yīng)用程序采用
模塊化的設(shè)計(jì)思想。由于VxWorks支持多任務(wù),我們將每個(gè)功能模塊以一個(gè)任務(wù)來(lái)實(shí)現(xiàn)。從時(shí)間上看,各個(gè)任務(wù)處于并行運(yùn)行的狀態(tài),極大地提高了系統(tǒng)對(duì)事件響應(yīng)的速度,有效地提高了CPU對(duì)資源的利用率。終端應(yīng)用程序包含五個(gè)任務(wù),分別是:消息處理任務(wù)、
傳感器檢測(cè)任務(wù)、GPRS通信任務(wù)、RS485總線設(shè)備通信任務(wù)、按鍵檢測(cè)及處理任務(wù)。除消息處理任務(wù)以外,
其它五個(gè)任務(wù)優(yōu)先級(jí)相同。VxWorks中任務(wù)優(yōu)先級(jí)從0到
255,0為最高優(yōu)先級(jí),255為最低優(yōu)先級(jí)。我們將消息處理任務(wù)優(yōu)先級(jí)設(shè)定為90,其它四個(gè)任務(wù)優(yōu)先級(jí)都設(shè)定為
100。這樣可使消息處理任務(wù)盡快的處理其它任務(wù)發(fā)送來(lái)的消息,提高系統(tǒng)對(duì)外部事件的響應(yīng)速度。下面分別對(duì)各個(gè)任務(wù)所實(shí)現(xiàn)的功能進(jìn)行簡(jiǎn)要的介紹。
(1)消息處理任務(wù)
該任務(wù)循環(huán)檢測(cè)自己的消息隊(duì)列,當(dāng)有其它任務(wù)發(fā)送來(lái)的消息時(shí),讀取消息,對(duì)消息進(jìn)行解析,確定事件類型,然后調(diào)用事件相應(yīng)的處理函數(shù)進(jìn)行處理。本系統(tǒng)定義了
多種事件類型,主要有如下幾種事件:傳感器告警事件、設(shè)置終端參數(shù)事件、傳感器狀態(tài)請(qǐng)求事件、刷卡開門事件、水表數(shù)據(jù)查詢事件、電表數(shù)據(jù)查詢事件、煤氣表數(shù)據(jù)查詢事件和按鍵設(shè)置事件。