基于ARM11的電梯綜合檢測(cè)系統(tǒng)的研究
3 系統(tǒng)軟件設(shè)計(jì)
3.1 上位機(jī)主控系統(tǒng)程序設(shè)計(jì)
3.1.1 平臺(tái)構(gòu)建
本系統(tǒng)采用的是Windows CE 6.0嵌入式操作系統(tǒng),使用的開(kāi)發(fā)工具是Embedded Visual C++,基于MFC的開(kāi)發(fā)方式,在S3C6410這一硬件平臺(tái)上進(jìn)行開(kāi)發(fā)。
3.1.2 驅(qū)動(dòng)程序設(shè)計(jì)
對(duì)于Windows CE系統(tǒng)而言,驅(qū)動(dòng)主要分為兩種:本地設(shè)備驅(qū)動(dòng)和流接口驅(qū)動(dòng)。這兩者之間最大的區(qū)別在于流接口驅(qū)動(dòng)只提供一組通用的接口。
本地設(shè)備驅(qū)動(dòng),主要是常用設(shè)備的驅(qū)動(dòng),例如無(wú)線網(wǎng)卡驅(qū)動(dòng)、LCD驅(qū)動(dòng)、觸摸屏驅(qū)動(dòng)等,這些都是已經(jīng)內(nèi)置好了的,微軟提供了專門的定制接口,使用的時(shí)候只需要通過(guò)這些接口就可以調(diào)用驅(qū)動(dòng)程序了。系統(tǒng)啟動(dòng)時(shí)由GWES來(lái)加載實(shí)現(xiàn)啟動(dòng)這些本地設(shè)備驅(qū)動(dòng)。
流接口驅(qū)動(dòng),它的主要功能是使得Windows CE系統(tǒng)和外圍設(shè)備能夠進(jìn)行連接和通信。相對(duì)于本機(jī)驅(qū)動(dòng)程序來(lái)說(shuō),所有的流驅(qū)動(dòng)程序都使用同一個(gè)流接口函數(shù)集。本系統(tǒng)中的信號(hào)采集板模塊的驅(qū)動(dòng)程序就屬于流接口的驅(qū)動(dòng)程序。
下面是信號(hào)采集模塊的流驅(qū)動(dòng)設(shè)計(jì),將信號(hào)采集模塊命名為SCM(Signal collection module),首先要編寫SCMDriver.cpp文件,該文件除了具備上述所需的接口外,還要添加AD轉(zhuǎn)換部分,下面是AD轉(zhuǎn)換的部分代碼清單。
到此,驅(qū)動(dòng)程序的所有工作都己完成,主控系統(tǒng)可以工作了。
3.2 下位機(jī)微控制系統(tǒng)程序設(shè)計(jì)
微控制系統(tǒng)的開(kāi)發(fā)環(huán)境是Microchip MPLABIDE V8.0。系統(tǒng)上電進(jìn)行初始化后,進(jìn)入主程序中等待串口的中斷。上位機(jī)發(fā)送命令后,串口中斷子程序接收命令并存儲(chǔ)在command中,主程序判斷接收標(biāo)志receive flag是否置位,然后解析command中的命令類型,進(jìn)而執(zhí)行相應(yīng)的操作。等整個(gè)檢測(cè)完成之后,上位機(jī)會(huì)發(fā)來(lái)一個(gè)結(jié)束命令,此時(shí)下位機(jī)進(jìn)入休眠模式。
霍爾傳感器相關(guān)文章:霍爾傳感器工作原理
霍爾傳感器相關(guān)文章:霍爾傳感器原理
評(píng)論