亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于XR16L788的多串口擴展及其應(yīng)用

        2016-03-22 06:56:23王淑平
        電子器件 2016年1期

        王淑平,楊 衛(wèi)*,侯 爽

        (1.中北大學(xué)儀器科學(xué)與動態(tài)測試教育部重點實驗室,太原030051;2.中北大學(xué)電子測試技術(shù)重點實驗室,太原030051)

        ?

        基于XR16L788的多串口擴展及其應(yīng)用

        王淑平1,2,楊衛(wèi)1,2*,侯爽1,2

        (1.中北大學(xué)儀器科學(xué)與動態(tài)測試教育部重點實驗室,太原030051;2.中北大學(xué)電子測試技術(shù)重點實驗室,太原030051)

        摘要:詳細介紹了基于高性能八通道UART控制器芯片XR16L788的串口擴展通信方法,并完成其在S3C2410上的驅(qū)動程序,將其應(yīng)用在了一種具有定位功能的新型遙控終端上,解決了該設(shè)備接口不足的問題,使遙控終端可以一方面利用GPS、電子羅盤、激光測距儀提供的信息實現(xiàn)對目標(biāo)的被動定位,另一方面利用無線模塊發(fā)送控制命令接受反饋信息。實際使用表明,該方法設(shè)計可靠,在滿足原有要求的同時,還預(yù)留了接口以方便擴展其它功能。

        關(guān)鍵詞:XR16L788;串口擴展;S3C2410;遙控終端;被動定位

        隨著計算機技術(shù)的不斷發(fā)展,嵌入式設(shè)備的應(yīng)用也越來越廣泛,嵌入式設(shè)備的串口是最常用、最簡單的接口,串行接口憑借其接口簡單、成本較低、占用資源少等特點而被廣泛應(yīng)用在各種設(shè)備中[1-2]。而嵌入式設(shè)備實際使用過程中因為外接設(shè)備較多常常會出現(xiàn)串口不足的問題,本設(shè)計的遙控終端為了實現(xiàn)定位功能需要同時與GPS、電子羅盤、激光測距儀等通信,其使用的S3C2410處理器自身帶有3路串口,但串口0用于系統(tǒng)調(diào)試信息輸出,實際可用只有兩路,無法滿足設(shè)計要求需要的串口數(shù),為了實現(xiàn)多串口通信需要進行串口擴展設(shè)計。常用的方法有軟件模擬法和硬件擴展法。軟件模擬法因無法直觀看到實驗效果且開銷大、誤碼率高而不予采用[3-4]。采用硬件擴展法有3種方案:(1)利用并口擴展串口,并口轉(zhuǎn)串口實現(xiàn)起來軟硬件較復(fù)雜,擴展出的串口穩(wěn)定性差,容易受到外界環(huán)境干擾;(2)利用USB口擴展串口,使用USB/串口轉(zhuǎn)換器,可擴展最多16路串口,性能可靠,但體積大,且價格隨串口數(shù)增加顯著提高;(3)串口擴展串口,該方法簡單易行,選擇串口擴展芯片是擴展設(shè)計的關(guān)鍵[5-6]。

        本設(shè)計中采用方案3,擴展芯片是EXAR的XR16L788。XR16L788通用異步接收/發(fā)射器是一款8通道的UART控制器芯片。XR16L788包含片內(nèi)振蕩器(XTAL1和XTAL2),可為每一個通道的可編程波特率發(fā)生器(BRG)提供系統(tǒng)時鐘,因此滿足GPS、電子羅盤等設(shè)備對不同波特率的通信要求。另外,它還包括一個通用中斷輸出引腳與通用中斷源寄存器,為所有8個UART通道提供完整的狀態(tài)指示,這可以加快中斷分析,串口擴展的硬件電路設(shè)計完成后在S3C2410核心板下并不能直接驅(qū)動使用,本文還介紹了串口擴展驅(qū)動程序的設(shè)計,使擴展的串口能正確傳輸數(shù)據(jù)[7]。

        1 擴展電路硬件設(shè)計

        1.1XR16L788芯片

        EXAR的XR16L788是一種高度集成的器件,設(shè)計用于具有高帶寬需求的通信系統(tǒng),工作電壓為3.3 V(+5 V的耐壓)。XR16L788擁有幾個創(chuàng)新性的特性,其中最突出的是通用中斷源寄存器的設(shè)計,它用于使軟件設(shè)備驅(qū)動程序更有效,從而在多通道系統(tǒng)降低CPU的帶寬需求。

        此外,該器件的八個通道都有各自的UART通道控制、軟復(fù)位、同步寄存器初始化、帶16種可選滯后的RTS/CTS或DTR/DSR硬件流控和帶可編程延時滯后的RS-485半雙工方向控制輸出。8 bit數(shù)據(jù)總線配置方面支持基于Intel或Motorola的系統(tǒng)設(shè)計。該芯片還具有64 byte的發(fā)送和接收FIFO(先進先出)以及FIFO byte計數(shù)器、可編程的TX和RX FIFO觸發(fā)字節(jié)。它的最高串行數(shù)據(jù)速率可達6.25 Mbit/s。

        1.2串口擴展設(shè)計

        圖1為串口擴展電路圖,XR16L788的8 bit雙向數(shù)據(jù)引腳D0~D7與F020的P7口相連;A0~A7地址引腳與C8051F020的P6口相連,其中A0~A3用于選擇各個通道的16個配置寄存器,A4~A5用于通道UART0到UART7的選通,A7用于選擇全局設(shè)備配置寄存器;IOR#、IOW#引腳與F020的P4.6、P4.7外部存儲器讀寫選通引腳相連,并將XR16L788映射在F020的片外數(shù)據(jù)地址空間中;CS#片選與P1.2相連,INT#與P0.4相連,它為漏極開路輸出,所以需要一個外部上拉電阻[8-9]。

        其它引腳TMRCK、ENIR等接地,16/68#(Intel 和Motorola總線接口選通引腳)接高電平。由于XR16L788未內(nèi)置晶振所以需在XTAL1、XTAL2引腳外接晶振單元。

        圖1 串口擴展電路圖

        2 多串口驅(qū)動程序?qū)崿F(xiàn)

        2.1驅(qū)動程序設(shè)計過程

        Linux中的驅(qū)動設(shè)計是Linux開發(fā)中十分重要的部分,它是應(yīng)用程序與硬件之間的一個中間軟件層[10]。嵌入式Linux系統(tǒng)采用模塊化方式管理設(shè)備驅(qū)動,并且將各種設(shè)備映射成設(shè)備文件,向開發(fā)人員提供統(tǒng)一且簡單易用的接口,達到簡化應(yīng)用程序開發(fā)和屏蔽不同硬件設(shè)備的目的。Linux的驅(qū)動開發(fā)調(diào)試有兩種方法,一種是直接編譯到內(nèi)核,再運行新的內(nèi)核來測試;二是編譯為模塊的形式,單獨加載運行調(diào)試。第一種方法效率低,但在某些場合是惟一的方法,模塊方式調(diào)試效率高,可以使用insmod工具將編譯的模塊直接插入內(nèi)核,還可以用rmmod從內(nèi)核中卸載模塊,從而不需要重新啟動內(nèi)核,使調(diào)試效率大大提高[11]。以下是實現(xiàn)的具體過程:

        (1)在S3C2410核心板的內(nèi)核的頭文件即ker?nelincludeasm-armarch-s3c2410 smdk.h增加中斷及片選地址宏定義

        #define RUIJI_UART_IRQIRQ_EINT7

        /*exar uart,nGCS2 */

        #define pRUIJI_ UART_BASE

        0x10000000

        #define vRUIJI_UART_ BASE 0xd1000000

        (2)在kernelarcharmmach-s3c2410smdk.c文件中增加CS2串口芯片內(nèi)存映射地址表

        Static struct map_desc smdk_io_desc[]__initdata={

        /* virtual physical length domain r w c b */

        {vCS8900_BASE,pCS8900_BASE,0x00100000,DOMAIN_IO,

        0,1,0,0},

        {vRUIJI_UART_BASE,pRUIJI_UART_BASE,0x01000000,

        DOMAIN_IO,0,1,0,0},

        LAST_DESC

        };

        (3)在串口驅(qū)動文件即kerneldriversserial中添加XR16L788驅(qū)動文件exar_serial.c及頭文件ex?ar_serial_reg.h

        完成上述設(shè)計后,就可使用make zImage重新編譯內(nèi)核映像文件,也可以把(3)中的驅(qū)動文件編譯成exar_serial.o模塊文件,使用過程中可使用ins?mod和rmmod命令分別動態(tài)鏈接和去除該模塊。

        2.2擴展串口的通信

        使用XR16L788進行串行通信前,應(yīng)先對其初始化。XR16L788的初始化程序流程圖如下:

        圖2 XR16L788初始化流程圖

        首先,寫RESET寄存器,軟件重置各個通道,寄存器的bit0~bit7位置分別對應(yīng)UART0~UART7。重置各個通道時,要把REG2寄存器bit0位置1。需要注意的是,在對設(shè)備進行讀操作時REG2寄存器的bit2位置必須為0。然后,設(shè)置各通道串行通信的數(shù)據(jù)格式。LCR是數(shù)據(jù)格式控制寄存器,bit1~bit0位指定數(shù)據(jù)位長度,數(shù)據(jù)位長度可根據(jù)需要設(shè)置為5 bit~8 bit,bit2位選擇停止位個數(shù),bit5~bit3位置是奇偶校驗選擇位,bit6為中斷控制位(邏輯1時允許產(chǎn)生輸出中斷)。通過設(shè)置LCR寄存器來確定各通道的數(shù)據(jù)格式,來滿足不同的通信要求。

        圖3 波特率發(fā)生器

        最后為波特率的設(shè)置。XR16L788的每個UART通道都有自己的波特率發(fā)生器,LCR寄存器的bit7位(分頻允許位)、MCR寄存器的bit7位(4分頻允許位)及DLL&DLM寄存器共同設(shè)置各通道的波特率。DLL&DLM的值在上電后是隨機的,因此,在使用前必須在初始化過程中對其編程。DLL&DLM的值可由如下公式得出:

        Divisor=(clockfrequency/prescaler)/(serialdataratex8)

        初始化完成之后,就是用串口的打開、讀、寫和關(guān)閉函數(shù)進行數(shù)據(jù)的傳輸[12]。

        3 應(yīng)用設(shè)計

        3.1系統(tǒng)總體設(shè)計

        本設(shè)計中擴展電路被應(yīng)用在具有定位功能的新型遙控終端上。上圖為遙控終端的結(jié)構(gòu)框圖:串口擴展電路通過RS-232接口電路與ARM主控模塊通信,ARM主控模塊用來數(shù)據(jù)處理、圖像顯示及與上位機通信。ARM主控模塊的處理器選用三星公司ARM9系列S3C2410處理器,外圍電路主要由FLASH和SRAM存儲單元、電源供電電路、復(fù)位電路、晶振、JATG調(diào)試口等構(gòu)成[13]。

        圖4 遙控終端結(jié)構(gòu)框圖

        圖5 RS-232接口電路

        3.2定位程序設(shè)計

        系統(tǒng)對目標(biāo)單元的定位可得到目標(biāo)的絕對坐標(biāo)和相對坐標(biāo)。電子羅盤和激光測距儀提供被測目標(biāo)相對測量點的距離、垂直角和水平角等,在空間直角坐標(biāo)系下,以測量點為坐標(biāo)原點,利用距離、水平角和垂直角等參數(shù)可得到被測目標(biāo)的相對坐標(biāo)。GPS使用的是WGS-84坐標(biāo)系,利用被測目標(biāo)的相對坐標(biāo)對提供的經(jīng)緯度信息進行坐標(biāo)變換,即可得到當(dāng)前位置的絕對坐標(biāo)。

        完成對每個目標(biāo)單元的定位后,將定位數(shù)據(jù)存儲到非易失性的存儲器中,并通過無線網(wǎng)絡(luò)把定位坐標(biāo)傳送至每個目標(biāo)單元。使得各個目標(biāo)單元了解自己所在的位置。

        3.3定位測試

        在矩形區(qū)域內(nèi),把5個目標(biāo)按照五邊形進行布置,邊長約為10 m。以遙控終端為坐標(biāo)原點,分別測量各個目標(biāo)的距離和方位角,每個目標(biāo)測量兩次,并與實際的測量值進行對比。

        圖6 定位程序流程圖

        實驗結(jié)果如表1所示。

        表1 測試數(shù)據(jù)

        4 結(jié)束語

        本文介紹的多串口擴展方法通過實驗表明能夠滿足項目的主要設(shè)計指標(biāo),目標(biāo)定位誤差小于0.2 m?;赬R16L788的串口擴展設(shè)計在結(jié)構(gòu)上、功能上具有良好的穩(wěn)定性、可靠性,全系統(tǒng)數(shù)據(jù)通信正常、誤碼率低,很好地解決了系統(tǒng)接口不足的問題,這對今后嵌入式串口擴展有一定的借鑒意義。

        參考文獻:

        [1]于海彬,王斌,陳興林,等.基于Linux的SC16IS752的串口驅(qū)動程序設(shè)計[J].計算機應(yīng)用,2013(12):36-41.

        [2]楊宗霖,姚速瑞,張浩峰.衛(wèi)星/慣性組合定位系統(tǒng)中的數(shù)據(jù)采集單元設(shè)計[J]. 2015,2(38):452-457.

        [3]岳曉慶,張其善,常青.串口擴展技術(shù)在嵌入式系統(tǒng)中的實現(xiàn)[J].電子測量技術(shù),2006,29(2):45-46.

        [4]楊光友,朱宏輝.單片微型計算機原理及接口[M].北京:中國水利水電出版社,2006:22-41.

        [5]劉小芳.單片機的多串口擴展技術(shù)的設(shè)計[J].計算機測量與控制,2004,12(11):1088-1090.

        [6]張偉,李文魁,陳永冰.基于GM814X的單片機串口擴展及其應(yīng)用[J].電子技術(shù)應(yīng)用,2012,38(9):96-99.

        [7]曹富祿.基于XR16L78x的多串口擴展方案優(yōu)勢分析[J].現(xiàn)代電子技術(shù),2011,34(24):163-170.

        [8]朱思榮,周萬里,畢春元,等. C8051F120單片機串口擴展與通訊設(shè)計[J].山東科學(xué),2013,26(1):69-73.

        [9]潘琢金. C8051Fxxx高速SOC單片機原理及應(yīng)用[M].北京:北京航空航天的學(xué)出版社,2002:12-22.

        [10]宋寶華. Linux設(shè)備驅(qū)動詳解[M].北京:人民郵電出版社,2010:112-126.

        [11]羅苑棠,楊宗德.嵌入式Linux應(yīng)用系統(tǒng)開發(fā)實例精講[M].北京:電子工業(yè)出版社,2007:223-245.

        [12]宋寶華,何昭然,史海濱,等.精通Linux設(shè)備驅(qū)動程序開發(fā)[M].北京:人民郵電出版社,2010:187-221.

        [13]魏永明. LINUX設(shè)備驅(qū)動程序[M]. 3版.北京:中國電力出版社,2005:226-252.

        王淑平(1990-),男,漢族,江西吉安人,中北大學(xué)儀器與電子學(xué)院碩士,主要研究方向為測試計量技術(shù),935924529@qq.com;

        楊衛(wèi)(1957-),男,漢族,山西太原人,研高工,研究方向為微納米器件、儀器與測試技術(shù)、微系統(tǒng)及集成技術(shù)、網(wǎng)域化微武器系統(tǒng),yangwei@nuc.edu.cn。

        The Fire Alarm System of Wind Turbine Engine Room Based on ZigBee*

        WU Chunming,YANG Tao*,ZHANG Jinqiang

        (Information Engineering College Northeast Dianli University,Jilin Jilin 132012,China)

        Abstract:In order to solve the loss of fire hidden trouble in the wind turbine,we designed a fire alarm system of wind turbine engine based on ZigBee. The system consists of the collection nodes,the coordination node and the monitoring center node. We use CC2530 as the processor,which controls the location of the fire hidden trouble in wind turbine engine room,collecting the data through the data collection nodes and sending them to monitoring cen?ter by GPRS network. According to the experiment and test results,the system can work stability,high reliability,early warning accuracy and monitoring of the regional operations of each time period effectiveness,thus it can guar?antee the wind turbine running security and stability.

        Key words:wind turbine engine room;fire prevention;CC2530;GPRS network;software platform

        doi:EEACC:814010.3969/j.issn.1005-9490.2016.01.044

        收稿日期:2015-03-25修改日期:2015-05-16

        中圖分類號:TN993

        文獻標(biāo)識碼:A

        文章編號:1005-9490(2016)01-0211-05

        国产亚洲欧美在线播放网站| 亚洲天堂丰满人妻av| 国产欧美综合一区二区三区| 日本护士xxxx视频| 成人性做爰aaa片免费看| 国产日韩A∨无码免费播放| 蜜桃av多人一区二区三区| 久久亚洲综合亚洲综合| 丝袜美腿国产一区精品| 久久久久亚洲av无码专区喷水| 亚洲精品久久久久久久久av无码| 国产一级三级三级在线视| 久久激情人妻中文字幕| 视频女同久久久一区二区| 日韩在线永久免费播放| 国产精品福利自产拍在线观看| 婷婷综合久久中文字幕蜜桃三电影 | 中文亚洲av片不卡在线观看| 人妻中文无码久热丝袜| 无码人妻一区二区三区免费手机| 国产av乳头久久一区| 亚洲熟妇av一区二区在线观看| 国产精品区一区二区三在线播放| 久久精品国产www456c0m| 无码一区东京热| 精品国产亚洲av久一区二区三区| 亚洲色图视频在线免费看| 亚洲人成77777在线播放网站 | 亚洲国产精品国自产拍久久蜜av| 成人影院yy111111在线| 六月丁香婷婷色狠狠久久| 亚洲国产精品日韩专区av| 97精品熟女少妇一区二区三区| 日本爽快片100色毛片| 国产精品jizz在线观看老狼| 天堂Av无码Av一区二区三区| 国产91精品自拍视频| 五月色丁香婷婷网蜜臀av| 欧美精品中文字幕亚洲专区| 午夜久久精品国产亚洲av| 精品黑人一区二区三区久久hd|