国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ARM-Linux的遠(yuǎn)程數(shù)據(jù)通信模塊設(shè)計(jì)

2012-07-25 03:20:16姚文俊劉春力裴煥斗
微處理機(jī) 2012年2期
關(guān)鍵詞:內(nèi)核嵌入式遠(yuǎn)程

姚文俊,劉春力,裴煥斗

(1.中北大學(xué),太原030051;2.山西百得科技開發(fā)有限公司,太原030006)

1 引言

近年來(lái)我國(guó)機(jī)械設(shè)備行業(yè)發(fā)展迅猛,各式移動(dòng)裝備廣泛應(yīng)用于建筑、港口和農(nóng)業(yè)等眾多領(lǐng)域。由于移動(dòng)裝備現(xiàn)場(chǎng)工況復(fù)雜且極其惡劣,對(duì)裝備的安全監(jiān)控與管理提出了更高的要求。對(duì)移動(dòng)裝備的監(jiān)控管理不再滿足于故障事后處理,而是更加強(qiáng)調(diào)對(duì)裝備自身工況信息的實(shí)時(shí)采集和分析。工業(yè)運(yùn)行中的許多現(xiàn)代化大型設(shè)備,為了安全、穩(wěn)定、長(zhǎng)周期、滿負(fù)荷優(yōu)質(zhì)運(yùn)行,設(shè)備制造商往往會(huì)在產(chǎn)品中安裝一些傳感器,方便的告知客戶設(shè)備的運(yùn)行狀況,以降低因設(shè)備故障造成的損失。然而設(shè)備制造方限于種種原因,并不掌握設(shè)備在用戶處的運(yùn)行工況,難以根據(jù)設(shè)備的運(yùn)行參數(shù)幫助用戶實(shí)時(shí)診斷和分析故障及故障預(yù)測(cè)。因此可通過(guò)一套數(shù)據(jù)傳送終端來(lái)將設(shè)備的運(yùn)行參數(shù)通過(guò)遠(yuǎn)程監(jiān)控技術(shù)發(fā)送給制造商,有效地進(jìn)行故障診斷分析,降低客戶的故障損失,更好的開展售后服務(wù)。

遠(yuǎn)程監(jiān)控技術(shù)主要包括專線遠(yuǎn)程監(jiān)控技術(shù)、電話網(wǎng)遠(yuǎn)程監(jiān)控技術(shù)、以太網(wǎng)遠(yuǎn)程監(jiān)控技術(shù)和無(wú)線通信遠(yuǎn)程監(jiān)控技術(shù)。特別是對(duì)于工作點(diǎn)多、通信距離遠(yuǎn)、環(huán)境惡劣且實(shí)時(shí)性和可靠性要求比較高的場(chǎng)合,可以利用無(wú)線網(wǎng)絡(luò)通信來(lái)實(shí)現(xiàn)主控站與各個(gè)子站之間的數(shù)據(jù)通信,采用這種無(wú)線通信遠(yuǎn)程監(jiān)控技術(shù)有利于解決復(fù)雜連線的問(wèn)題,無(wú)須鋪設(shè)各種線纜,降低環(huán)境成本。隨著GPRS的推廣和應(yīng)用,采用GPRS技術(shù)來(lái)解決上述問(wèn)題成為一種較好的方案。GPRS是利用“包交換”的概念所發(fā)展出的一套無(wú)線傳輸方式,采用包交換的好處在于只有在有資料需要傳送時(shí)才會(huì)占用頻寬,使若干移動(dòng)用戶能夠同時(shí)共享一個(gè)無(wú)線信道,一個(gè)移動(dòng)用戶也可以使用多個(gè)無(wú)線信道。

2 系統(tǒng)介紹

通過(guò)應(yīng)用GPRS網(wǎng)絡(luò)實(shí)現(xiàn)了計(jì)算機(jī)或手機(jī)與ARM嵌入式處理器終端的遠(yuǎn)程通信。系統(tǒng)整體上可分為數(shù)據(jù)采集模塊、數(shù)據(jù)傳輸控制模塊、無(wú)線傳輸網(wǎng)絡(luò)及數(shù)據(jù)處理終端模塊。其中數(shù)據(jù)傳輸終端的核心部分為Atmel公司的AT91SAM9263和SIMCOM公司的SIM300 GPRS模塊。圖1所示為系統(tǒng)的整體框圖,其中數(shù)據(jù)傳輸終端模塊的設(shè)計(jì)為主要任務(wù),包含ARM最小系統(tǒng)、無(wú)線傳輸模塊及一些通信接口(如232串口、USB接口、網(wǎng)口)。

圖1 系統(tǒng)整體框圖

2.1 硬件整體設(shè)計(jì)

選用Atmel公司的AT91SAM9263,其通信功能非常強(qiáng)大,是目前功能最強(qiáng)大的ARM芯片之一。設(shè)計(jì)中用到的外圍通信接口包括用于下載燒寫bootstrap、uboot、Linux內(nèi)核等的USB Device接口和具有網(wǎng)絡(luò)調(diào)試下載功能的以太網(wǎng)接口,用于調(diào)試程序的JTAG接口以及用于與GPRS模塊和PC機(jī)連接通信的兩個(gè)UART接口(UART0、UART1)。除了通信接口外,還有組成ARM最小系統(tǒng)所必須的電源模塊、時(shí)鐘模塊、DataFlash、NandFlash以及SDRAM等。其中UART0與GPRS模塊連接,UART1與PC機(jī)串口連接。電路硬件原理框圖如圖2所示。

2.2 GPRS無(wú)線模塊接口設(shè)計(jì)

在無(wú)線模塊SIM300與ARM芯片的接口設(shè)計(jì)中,TXD0(PA26)和 RXD0(PA27)接到 GPRS對(duì)應(yīng)的 RXD與 TXD引腳上,RTS0(PA28)和 CTS0(PA29)可在GPRS上網(wǎng)時(shí)連接。電源部分因GPRS或GSM發(fā)射需要很大的電流,故應(yīng)最大能提供到2A電流,工作電壓應(yīng)保證在3.4V-4.5V之間。模塊啟動(dòng)方式是通過(guò)控制PWRKEY(PE11)管腳即在該管腳上產(chǎn)生一個(gè)一段時(shí)間的低電平,然后為高阻態(tài)即可啟動(dòng)模塊。模塊關(guān)閉也可通過(guò)PWRKEY管腳,操作方法與開啟時(shí)的操作方法一樣。

圖2 ARM終端功能框圖

3 嵌入式Linux操作系統(tǒng)的移植

3.1 系統(tǒng)分區(qū)

基于AT91SAM9263的嵌入式Linux系統(tǒng)的基本組成為 Bootstrap、U-boot、Kernel、Rootfs,同時(shí)移植也是按這個(gè)順序來(lái)進(jìn)行的,并且是按dataflash啟動(dòng)的方式進(jìn)行移植。圖3為dataflash和nandflash存儲(chǔ)空間的資源分配情況。各部分的分區(qū)大小是在uboot下指定的,將 bootstrap、uboot、linux kernel存放于dataflash中,將文件系統(tǒng)存放于nandflash中,而nandflash分為兩個(gè)分區(qū),分區(qū)0作為rootfs(Cramfs格式),分區(qū)1用于自定義。具體的程序修改不再贅述,主要說(shuō)明映像文件的編譯方法和燒寫過(guò)程。

圖3 Dataflash啟動(dòng)存儲(chǔ)器映射圖

3.2 編譯燒寫bootstrap

首先安裝windows下的交叉編譯工具鏈armnone-eabi-gcc,然后分別運(yùn)行:cd board/at91sam9263ek/dataflash/、make clean 和 make生成dataflash_at91sam9261ek.bin文件。打開燒寫工具SAM-BA軟件,使用USB口燒寫。選擇DataFlash標(biāo)簽,在下拉菜單中選擇Enable Dataflash on CS0,按Execute按鈕,接著選擇Send boot file,按Execute按鈕,最后選擇dataflash_at91sam9261ek.bin打開燒寫。

3.3 編譯燒寫uboot

在Linux系統(tǒng)下安裝交叉工具鏈arm-linuxgcc,然后在/etc/profile文件中修改環(huán)境變量路徑為交叉工具鏈的路徑,再用命令service/etc/profile使路徑生效,這樣以后就可以直接使用make命令了。最后執(zhí)行make at91sam9263ek_config和make命令生成u-boot.bin文件,通過(guò)sam-ba工具燒錄到dataflash的0x8400地址。具體步驟為在DataFlash標(biāo)簽下的Address處寫入 uboot的燒寫地址0x8400,按Send File Name按鈕,打開u-boot.bin,按Send File按鈕,等待燒寫完成。

3.4 編譯燒寫內(nèi)核

解壓Linux內(nèi)核,cd到根目錄下,利用mkimage工具編譯內(nèi)核來(lái)生成uImage內(nèi)核鏡像,具體步驟及命令為:①make distclean→②→make at91sam9263ek_defconfig→③→./mkimage-A arm-O linux-C none-T kernel-a 20008000-e 20008000-n linux-2.6-d arch/arm/boot/zImage uImage。即可編譯生成支持uboot格式的uImage映像文件。燒寫方法與uboot相同,只需在Address處寫入Linux內(nèi)核燒寫地址0x42000即可。

3.5 根文件系統(tǒng)的制作與燒寫

首先用mkdir命令建立roofs根文件夾并參考Linux系統(tǒng)建立根文件系統(tǒng)目錄樹,然后編譯安裝busybox到根文件下,最后利用mkcramfs工具制作文件系統(tǒng),即用命令./mkcramfs rootfs rootfs_cramfs生成根文件的映像文件,最后將此文件通過(guò)sam-ba燒寫到nandflas。選擇nandflash標(biāo)簽,在Address處寫入根文件系統(tǒng)的燒寫地址0x400000進(jìn)行燒寫。

至此嵌入式Linux系統(tǒng)在AT91SAM9263平臺(tái)上的移植已經(jīng)完成。

4 應(yīng)用程序設(shè)計(jì)

在終端軟件應(yīng)用程序的設(shè)計(jì)中,由于有多個(gè)外部設(shè)備(不同功能的傳感器及GPRS模塊)需要操作,所以采用多進(jìn)程編程實(shí)現(xiàn)。這些設(shè)備以設(shè)備文件的形式進(jìn)行訪問(wèn),而訪問(wèn)設(shè)備文件時(shí),采用阻塞方式。用fork()函數(shù)分別創(chuàng)建GPRS_PID、FIRE_PID、Temp_PID、Smog_PID、Speed_PID等進(jìn)程。進(jìn)程間通信采用消息隊(duì)列方式,當(dāng)GPRS模塊接收和發(fā)送消息時(shí)用msgget()創(chuàng)建和打開消息隊(duì)列,用msgsnd()添加要發(fā)送的消息內(nèi)容,用msgrcv()讀取消息內(nèi)容。在判斷消息類型及是否異常消息時(shí)采用switch()case語(yǔ)句分情況比較消息內(nèi)容與程序已設(shè)定的標(biāo)號(hào)來(lái)調(diào)用相應(yīng)的函數(shù)進(jìn)行處理。其中GPRS功能函數(shù)是通過(guò)編寫串口應(yīng)用程序來(lái)實(shí)現(xiàn)短信息的接收和發(fā)送等功能。通過(guò)手機(jī)或電腦發(fā)送AT指令來(lái)控制ARM終端模塊對(duì)數(shù)據(jù)進(jìn)行操作,以實(shí)現(xiàn)相應(yīng)的功能。每個(gè)指令執(zhí)行成功與否都有相應(yīng)的返回,模塊將有對(duì)應(yīng)的一些信息提示,接收端可做相應(yīng)的處理。圖4為應(yīng)用程序的整體流程圖。

圖4 應(yīng)用程序整體流程圖

5 結(jié)束語(yǔ)

選用ARM芯片AT91SAM9263和SIM300 GPRS無(wú)線通信模塊設(shè)計(jì)的一種遠(yuǎn)距離數(shù)據(jù)通信模塊可廣泛應(yīng)用于建筑、港口和農(nóng)業(yè)等眾多領(lǐng)域中現(xiàn)場(chǎng)狀況的監(jiān)控,以及工業(yè)中許多現(xiàn)代化大型設(shè)備運(yùn)行狀態(tài)的實(shí)時(shí)檢測(cè)等等。同時(shí)由于GPRS具有“高速”和“永遠(yuǎn)在線”的優(yōu)點(diǎn),使用GPRS技術(shù)傳輸效率更高,功耗更低,而且應(yīng)用無(wú)線傳輸更能節(jié)省成本。系統(tǒng)可長(zhǎng)時(shí)間穩(wěn)定的監(jiān)控工況信息以及設(shè)備的運(yùn)行狀態(tài)等,便于及時(shí)做出維修改進(jìn),確保機(jī)器設(shè)備的正常運(yùn)行。

[1] 李俊.嵌入式LINUX設(shè)備驅(qū)動(dòng)開發(fā)詳解[M].北京:人民郵電出版社,2008.

[2] 華清遠(yuǎn)見嵌入式培訓(xùn)中心編著.嵌入式Linux應(yīng)用程序開發(fā)標(biāo)準(zhǔn)教程[M].北京:人民郵電出版社,2009.

[3] 張向濤,朱紅.基于GSM和ARM的遠(yuǎn)程監(jiān)控系統(tǒng)的研究[J].廣西通信技術(shù),2006,9(3):13-16.

[4] 黃強(qiáng),陶正蘇,宋浩,等.基于ARM的GPRS遠(yuǎn)程數(shù)據(jù)傳輸模塊設(shè)計(jì)[J].電子器件,2008,31(4):1214-1218.

猜你喜歡
內(nèi)核嵌入式遠(yuǎn)程
讓人膽寒的“遠(yuǎn)程殺手”:彈道導(dǎo)彈
軍事文摘(2022年20期)2023-01-10 07:18:38
萬(wàn)物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
遠(yuǎn)程工作狂綜合征
強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
Linux內(nèi)核mmap保護(hù)機(jī)制研究
遠(yuǎn)程詐騙
搭建基于Qt的嵌入式開發(fā)平臺(tái)
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
Altera加入嵌入式視覺(jué)聯(lián)盟
青龙| 柳州市| 衡东县| 府谷县| 丹寨县| 新丰县| 邵阳市| 奈曼旗| 玛纳斯县| 肃宁县| 武功县| 海阳市| 酉阳| 佳木斯市| 江川县| 阿坝| 维西| 昔阳县| 清新县| 桑日县| 裕民县| 襄汾县| 武城县| 定陶县| 明水县| 崇文区| 玉田县| 麻江县| 盐亭县| 大足县| 乐陵市| 兴国县| 吴桥县| 叙永县| 津南区| 曲阜市| 永清县| 汝阳县| 奉节县| 南华县| 六枝特区|