版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1第17講嵌入式接口技術
第8章嵌入式存儲器和接口技術本章主要介紹以下內(nèi)容:嵌入式系統(tǒng)常用存儲器嵌入式系統(tǒng)常用總線嵌入式系統(tǒng)常用接口嵌入式系統(tǒng)常用外部設備28.3嵌入式系統(tǒng)常用接口嵌入式系統(tǒng)常用的接口有串口、以太網(wǎng)口、USB口和JTAG口。此外,還有通用IO口(GPIO)、火線(IEEE1394)、同步串行IO口(例如:S3C44B0X處理器的SIO)、PCMCIA等。在第5講我們已經(jīng)詳細講解了JTAG接口,以下我們主要介紹串口(UART)、GPIO口和USB口。由于篇幅的限制,我們沒有把以太網(wǎng)接口和以太網(wǎng)接口控制器RTL8019AS的講解做在本課件中。38.3.1UART接口UART負責管理異步串行數(shù)據(jù)通信,常常用于主機與嵌入式開發(fā)板的之間的最初調(diào)試信息通信,在嵌入式系統(tǒng)中是重要的I/O接口之一。多數(shù)嵌入式處理器內(nèi)部集成了UART接口。例如:S3C44B0X內(nèi)部具有2個(S3C2410有3個)獨立的UART通道,每個UART通道都可以工作在中斷模式或DMA模式,并且每個UART均具有兩個16字節(jié)的FIFO(先入先出寄存器)分別供接受和發(fā)送使用,所支持的最高波特率達到118.2Kbps(S3C2410為230.4Kbps)。4UART的基本功能UART提供的主要功能是:傳輸波特率設定;將接受到的串行數(shù)據(jù)變換為主機內(nèi)部的并行數(shù)據(jù);把機內(nèi)并行數(shù)據(jù)轉(zhuǎn)換為輸出串行數(shù)據(jù);設定數(shù)據(jù)傳輸?shù)膸袷?;對輸入輸出的串行?shù)據(jù)流中進行奇偶校驗處理;進行數(shù)據(jù)收發(fā)執(zhí)行緩沖處理等等。5S3C44B0X處理器的UART操作主要有4種UART操作數(shù)據(jù)發(fā)送數(shù)據(jù)接收自動流控制RS-232接口6S3C44B0X的UART編程步驟通?;赟3C44B0X嵌入式開發(fā)板的串行口使用的是S3C44B0X內(nèi)部UART接口。通過電平轉(zhuǎn)換電路芯片(如Max3233),把3.3V的邏輯電平轉(zhuǎn)換為RS-232-C的邏輯電平,向外進行數(shù)據(jù)收發(fā)。這種串口往往使用了RS-232-C的3根線進行通信,其接口為D型的9針陽性插頭。 7S3C44B0X的UART編程步驟(續(xù)1)D型的9針陽性插頭各個管腳的定義及3線通信連接方法參看下圖:8S3C44B0X的UART編程步驟(續(xù)2)涉及UART數(shù)據(jù)發(fā)送接收的引腳主要是兩組RxD,TxD引腳。參看下圖,可以看出RxD0、TxD0、RxD1、TxD1這四個引腳是復用引腳。因此,在編寫串口數(shù)據(jù)收發(fā)程序之前,首先需要對GPC12、GPC13、GPE1、GPE2口的工作模式進行設置。9S3C44B0X的UART編程步驟(續(xù)3)S3C44B0X的UART數(shù)據(jù)收發(fā)引腳示意圖:
10S3C44B0X的UART編程步驟(續(xù)4)與這兩組串口引腳設置有關的寄存器PCONC和PCONE的部分位定義如下表所示??刂萍拇嫫鞯刂房刂瓶诰€控制位描述PCONC0x01D20010PC1327~2600:輸入01:輸出10:DATA2911:RxD1PC1225~2400:輸入01:輸出10:DATA2811:TxD1PCONE0x01D20028PE25~400:輸入01:輸出10:RxD011:保留PE13~200:輸入01:輸出10:TxD011:保留PUPC0x01D20018PC15~PC015~00:相應位的上拉電阻使能1:相應位的上拉電阻失效PUPE0x01D2002CPE8~PE08~00:相應位的上拉電阻使能1:相應位的上拉電阻失效11S3C44B0X的UART編程步驟(續(xù)5)(1)PC口和PE口設置#definerPCONC(*(volatileunsignedchar*)0x01D20010)PC口通過以下C語句設置:rPCONC=0x0F000000|rPCONC; /*使PC13引腳為RxD1,PC12引腳為TxD1*/rPUPC=0x3000; /*設置PC13和PC12無內(nèi)部上拉電阻*/PE口通過以下C語句設置:rPCONE=(rPCONE&0xFC3)|0xEB; /*使PE2引腳為RxD0,PE1引腳為TxD0*/rPUPE=0x6; /*設置PE2和PE1無內(nèi)部上拉電阻*/ 12UART初始化代碼voidUart_Init(intUartnum,intmclk,intbaud){ inti; if(mclk==0)mclk=MCLK; if(Uartnum==0){ //UART0,即UART通道號為0 rUFCON0=0x0; //不使用FIFO rUMCON0=0x0; //不使用自動流控制(AFC)
rULCON0=0x3; //8個數(shù)據(jù)位,1個停止位,奇偶校驗位
//不采用紅外線傳輸模式
rUCON0=0x245; //當Tx緩沖為空時,以電平信號發(fā)送中斷請求
//當Rx緩沖有數(shù)據(jù)時,以邊沿信號發(fā)送中斷請求
//禁止超時中斷,允許產(chǎn)生處于接收出錯狀態(tài)的中斷請求
//禁止回送模式,禁止中止信號,發(fā)送數(shù)據(jù)操作按中斷方式
//接收數(shù)據(jù)操作按中斷方式S3C44B0X的UART編程步驟(續(xù)5)13UART初始化代碼(續(xù)) rUBRDIV0=((int)(mclk/16./baud+0.5)-1); //根據(jù)波特率計算UBRDIV0值
} else{ //UART1 rUFCON1=0x0; //UART1的初始化與UART0相同
rUMCON1=0x0; rULCON1=0x3; rUCON1=0x245; rUBRDIV1=((int)(mclk/16./baud+0.5)-1);}for(i=0;i<100;i++);}S3C44B0X的UART編程步驟(續(xù)5)14UART字符接收程序#defineRdUTXH0()(*(volatileunsignedchar*)0x01D00024)#defineRdUTXH1()(*(volatileunsignedchar*)0x01D04024)charUart_GetByte(char*Revdata,intUartnum,inttimeout){ inti=0; if(Uartnum==0){ //UART0 while(!(rUTRSTAT0&0x1)); //讀接收數(shù)據(jù) *Revdata=RdURXH0(); returnTRUE;} else{ while(!(rUTRSTAT1&0x1)); *Revdata=RdURXH1(); returnTRUE;}}S3C44B0X的UART編程步驟(續(xù)5)15UART字符發(fā)送程序#defineWrUTXH0(ch)(*(volatileunsignedchar*)0x01D00020)=(unsignedchar)(ch)#defineWrUTXH1(ch)(*(volatileunsignedchar*)0x01D04020)=(unsignedchar)(ch)voidUart_SendByte(intUartnum,U8data){ if(Uartnum==0) //UART0{ while(!(rUTRSTAT0&0x2));//當發(fā)送數(shù)據(jù)緩沖器不空,執(zhí)行下一條指令
Delay(1); WrUTXH0(data);} else{ while(!(rUTRSTAT1&0x2));//UART1的處理同UART0 Delay(1); WrUTXH1(data);} }S3C44B0X的UART編程步驟(續(xù)5)168.3.2通用輸入輸出接口(GPIO)在嵌入式系統(tǒng)中,數(shù)據(jù)輸入輸出主要通過通用輸入輸出口(GPIO,GeneralPurposeI/Oport)進行。之所以稱為通用輸入輸出口是因為它們的用法非常靈活,可以通過編程設定其功能。一個處理器內(nèi)的GPIO分成若干個組,每一組稱為一個IO接口。通常,一組GPIO接口有10多個引腳。17三星公司S3C44B0X的GPIO端口引腳配置一覽表GPIO端口名稱端口位數(shù)引腳功能復用數(shù)通常選擇的功能用途端口A10位輸出口2地址線端口B11位輸出口2存儲體bank選擇線或者SDRAM信號線端口C16位輸入/輸出口3數(shù)據(jù)線、IIS接口或LCD數(shù)據(jù)線端口D8位輸入/輸出口2LCD數(shù)據(jù)線端口E9位輸入/輸出口3串口信號線,定時器輸出端口F9位輸入/輸出口4多功能數(shù)據(jù)I/O口端口G8位輸入/輸出口3多功能數(shù)據(jù)I/O口18GPIO端口的用法開發(fā)過程中,需要用到三組特殊功能寄存器來定義上一頁表里7個GPIO端口的具體功能。第一組是PCONA~PCONG端口配置寄存器第二組是PDATA~PDATG端口數(shù)據(jù)寄存器第三組是PUPC~PUPG端口上拉電阻設置寄存器19GPIO口的使用舉例以端口F為例,它是9位輸入輸出端口。使用前需要對PCONF寄存器寫入控制字,以決定這9位中的每1位執(zhí)行的是輸入操作還是輸出操作。操作時,PDATF寄存器的PF[8:0]引腳按照輸入或者輸出的定義接受或者發(fā)送數(shù)據(jù)。PUPF寄存器的每1位值決定該位使能情況下是否接上拉電阻。取值為0時上拉電阻有效,取值為1時上拉電阻無效。20GPIO口控制寄存器地址映射下面是S3C44B0處理器的SFR寄存器地址定義的.H文件的指令片段,它們給出了GPF端口的控制寄存器地址映射。/*S3C44B0X通用I/O口F的控制寄存器定義*/#definerPCONF(*(volatileunsigned*)0x01D20040)#definerPDATF(*(volatileunsigned*)0x01D20044)#definerPUPF(*(volatileunsigned*)0x01D20048)218.3.3USBUSB(通用串行總線:UniversalSerialBus)是由Compaq、HP、Intel、Lucent(朗訊)、Microsoft、NEC和Philips七家公司聯(lián)合推出的標準接口總線。已成為目前最廣泛使用的外設接口。USB驅(qū)動程序的開發(fā)已經(jīng)成為嵌入式開發(fā)的一個重要組成部分。本節(jié)介紹以下內(nèi)容:USB接口標準,USB主要特點,USB接口實現(xiàn)方法和選購考慮要素,USB接口芯片SL811HS,USB主機協(xié)議棧架構(gòu)模型,USB設備和USB應用軟件開發(fā)22USB1.0接口標準USB標準(規(guī)范)有多種版本,最早的版本是1994年11月推出的USB0.7版。1996年1月推出了標準版本USBl.0,目標是為中低速的外圍設備提供雙向、低成本的總線。USBl.0支持1.5Mbps(低速)、12Mbps(全速)兩種傳輸速率。23USB2.0接口標準隨著微機系統(tǒng)及其外設性能和功能的增強,需處理的數(shù)據(jù)量越來越大,2000年4月又推出了新的USB規(guī)范—USB2.0。在新版本中,增加了一種480Mbps的數(shù)據(jù)傳輸率(高速),以滿足日益復雜的高級外設與PC機之間的高性能連接需求。USB2.0是USB早期版本的自然升級,它在保留原有USB規(guī)范的基礎上又提供了更高的帶寬,并且與現(xiàn)有的外設保持完全兼容。24USB的主要特點1、串行外設連接2、支持即插即用(PNP)3、連接容易、使用方便4、獨立供電,降低外設成本5、速度快,適應不同外設要求25USB主要特點1、串行外設連接一個USB系統(tǒng)由三部分來描述:USB主機、USB設備和USB互連。①主機,在任何一個USB系統(tǒng)中只有一個主機。主計算機系統(tǒng)內(nèi)的USB接口被稱作主機(主控制器)。②設備,USB設備分為Hub(集線器)和Function(功能)兩大類。③互連,USB互連指的是USB設備與主機的連接和通信方式,它包括總線拓撲結(jié)構(gòu)、內(nèi)層關系、數(shù)據(jù)流模型和USB調(diào)度表。USB系統(tǒng)最多可連接127個外設,其連接的拓撲結(jié)構(gòu)為樹型結(jié)構(gòu)。26USB主要特點(續(xù)1)2、支持即插即用(PNP)USB支持自動配置,支持熱插拔??梢栽谌魏螘r候連接或斷開外設,而不管系統(tǒng)或外設是否正在運行;熱插拔不會損壞PC或外設,當外設被連接時,操作系統(tǒng)會自動檢測并執(zhí)行對應的應用程序。27USB主要特點(續(xù)2)3、連接容易、使用方便USB為所有的USB外設提供了單一的、易于操作的標準的接口,這樣就簡化了USB外設連接插座插頭設計,同時也簡化了用戶在連接外設時的操作。用戶在連接外設時的簡單性和方便性比以往的外設連接有了質(zhì)的飛躍。28USB主要特點(續(xù)3)4、獨立供電,降低外設成本普通的使用串口、并口的設備都需要單獨的供電系統(tǒng),而USB設備則不需要。USB采用4線電纜,USB接口提供了內(nèi)置電源。USB電源能向其下游的低壓設備提供5伏的電源,因此新的設備就不需要專門的交流電源了,從而降低了這些設備的成本,提高了質(zhì)價比。29USB主要特點(續(xù)5)5、速度快,適應不同外設要求USB適用于帶寬范圍在幾千位/秒(Kbps)到幾百兆位/秒(Mbps)的設備。USB總線既可連接鍵盤、鼠標、攝像頭、游戲設備、虛擬現(xiàn)實外設這樣的低速設備,也可連接電話、聲頻、麥克風、壓縮視頻這樣的全速設備,還可連接視頻、存儲器、圖像這樣的高速設備。此外,USB總線還允許復合設備(即具有多種功能的外設)連接到PC機。30USB接口實現(xiàn)方法和選購考慮要素
目前有兩種嵌入式系統(tǒng)的USB接口實現(xiàn)方法。(1)處理器自帶USB接口控制器,例如S3C2410X。(2)處理器不含USB接口控制器,例如,S3C44B0X和S3C4510等。兩種場合下的硬件接線不同,但是軟件開發(fā)步驟基本相同。31USB接口實現(xiàn)方法和
選購考慮要素(續(xù)1)對于不含USB接口控制器處理器,需要外接專用的USB接口芯片,如下圖所示。USB控制器芯片SL811HS與MCU的硬件接線示意圖
32USB接口實現(xiàn)方法和
選購考慮要素(續(xù)2)嵌入式系統(tǒng)開發(fā)過程中選用USB設備控制器芯片時,需要考慮以下幾個因素:①是否與CPU芯片集成在一起。內(nèi)嵌在CPU的USB控制器能夠簡化連接電路的設計,提高數(shù)據(jù)傳輸?shù)目煽啃?。②不同產(chǎn)品應配備不同級別的USB芯片。需要高速、大批量處理數(shù)據(jù)的設備應考慮采用USB2.0版芯片。例如,具有視頻數(shù)據(jù)處理器嵌入式產(chǎn)品就需要配備USB2.0控制器芯片;而普通的只需處理一些簡單非實時數(shù)據(jù)的設備,則可使用USB1.0控制器芯片。
33USB接口實現(xiàn)方法和
選購考慮要素(續(xù)3)③連接端口的數(shù)量,不同USB控制器芯片提供了不同的I/O口、控制信號線及IIC等外部接口線;在設計時要考慮所選芯片的信息端口能否滿足設計線及IIC等外部接口線的規(guī)格。④所帶RAM的大小,通常USB控制器芯片內(nèi)部都集成了RAM作為內(nèi)存,其大小一般介于128-1024B,要確定所選芯片的RAM能夠滿足設備數(shù)據(jù)的存儲和讀取。34USB接口控制器芯片SL811HSSL811HS是Cypress公司生產(chǎn)的遵從USB1.1協(xié)議的嵌入式USB主控芯片。它能工作在主機模式(HostMode)或者從機模式(SlaveMode,也叫做外設模式)。在主機模式下,它支持嵌入式主機與USB外圍設備的通信,在從機模式下,可以作為主機的一個外設。35USB接口控制器芯片SL811HS(續(xù)1)SL811HS該芯片采用28腳PLCC(四邊扁平J形引腳封裝:PlasticLeadedChipCarrier)和48腳TQFP(薄四方扁平封裝:ThinQuadFlatPack)兩種封裝形式。內(nèi)含USB主/從控制器,支持全速(Full-Speed)/低速(Low-Speed)數(shù)據(jù)傳輸,并能自動識別低速或全速設備。SL811HS可與微處理器、微控制器、DSP.相連,也可直接與ISA,PCMCIA及其它總線相連。36USB接口控制器芯片SL811HS(續(xù)2)SL811HS數(shù)據(jù)端口與微處理器進行連接可提供8位數(shù)據(jù)輸入輸出,或者雙向DMA通道,并能以從機操作方式支持DMA數(shù)據(jù)傳輸。此外,通過中斷支持還可以與Motorola,Intel及其它多種類型的標準微處理器或微控制器相連。SL811HS內(nèi)部有一個256字節(jié)的RAM,可用做控制寄存器或數(shù)據(jù)緩沖器。37USB接口芯片SL811HS的內(nèi)部結(jié)構(gòu)SL811HS的內(nèi)部結(jié)構(gòu)框圖如下圖所示:38USB接口芯片SL811HS的操作SL811HS對一個接入的USB設備的操作過程為:(1)SL811HS檢測到有外部USB設備接入;(2)對這個USB設備進行Reset操作,檢測該USB設備是高速設備還是低速設備,并設置好SL811HS中對應的寄存器位;(3)通過0號端點讀取該USB設備的描述符信息如廠商ID、產(chǎn)品ID、設備類、設備子類、設備協(xié)議,選取對應的子程序;39USB接口芯片SL811HS的操作(續(xù)1) (4)SL811HS固件驅(qū)動程序?qū)υ揢SB設備進行初始化:讀取該USB設備的設備描述符,為該設備指定地址,讀取該設備的配置描述符信息、接口描述符信息、端點描述符信息,為該USB設備設置選擇配置描述符;
(5)對該USB設備的初始化完成后,按照應用要求與該設備進行通信。40USB主機協(xié)議棧架構(gòu)模型示意圖
USB主機協(xié)議棧架構(gòu)示意圖
41USB主機協(xié)議棧架構(gòu)模型在協(xié)議棧的最底層是USB主機控制器(USBHC,USBHostController),它是控制各個USB的主機系統(tǒng)硬件。目前,市場上主要有兩類USB主機控制器。一類是Intel公司最早推出的通用主機控制器(UHCI,UniversalHostControllerInterface),另外一類是由微軟、康柏和國民半導體三家公司推出的開放主機控制器(OHCI,OpenHostControllerInterface)。許多硬件制造商根據(jù)其中的一個技術標準開發(fā)USB主機控制器。
42USB主機協(xié)議棧架構(gòu)模型(續(xù)1)為每一種主機控制器配備一個硬件相關的USB主機控制器驅(qū)動程序(HCD,HostControllerDriver)。例如,風河公司提供兩種預先準備好的USB主機控制器驅(qū)動程序。用于UHCI型主機控制器的usbHcdUhciLib用于OHCI型主機控制器的usbHcdOhciLib43USB主機協(xié)議棧架構(gòu)模型(續(xù)2)USB主機驅(qū)動程序(USBD,USBHostDriver)和USB主機控制器驅(qū)動程序之間的接口允許每一個USB主機控制器驅(qū)動程序連接一個或者多個下層的USB主機控制器。USB主機驅(qū)動程序是硬件無關的在USB主機控制器驅(qū)動程序之上軟件模塊。USBD管理每一個連接到主機的USB設備并且為更高層與USB的通信提供信道。USBD負責USB電源管理和USB帶寬管理。44USB主機協(xié)議棧架構(gòu)模型(續(xù)3)USB主機協(xié)議棧架構(gòu)示意圖中的次上層是USB客戶模塊(USBClientModule)。USB類驅(qū)動程序(USBClassdrivers)是典型的USB客戶模塊。USB類驅(qū)動程序負責管理連接到USB的個性化的驅(qū)動程序。這些USB類驅(qū)動程序依賴USBD來為單個設備提供通信鏈路。應用程序、診斷程序和測試程序是另外一類依賴USBD聯(lián)系設備的USB客戶程序。45USB主機協(xié)議棧架構(gòu)模型(續(xù)4)USB主機協(xié)議棧架構(gòu)模型的最上層是USB應用程序?qū)樱搶邮怯脩糇孕虚_發(fā)或者委托開發(fā)的基于USB驅(qū)動程序之上的應用軟件。這些軟件運行在USB客戶模塊之上,也就是運行在已經(jīng)正常驅(qū)動的USB設備上。在圖8-35里,我們在USB應用層列舉了一些USB應用軟件項目。事實上,嵌入式USB的應用項目面廣量大,類似的USB應用軟件很多,有興趣的讀者可以進一步研究、分析和總結(jié)。46USB設備和USB應用軟件開發(fā)開發(fā)一個USB接口設備通常包括四部分開發(fā)和測試:硬件電路設計、固件程序編寫、設備驅(qū)動程序和應用軟件。47USB設備驅(qū)動和USB應用軟件開發(fā)硬件電路設計
固件程序編寫
設備驅(qū)動程序編寫
應用軟件編寫48主要根據(jù)USB設備的功能和需求以及所選USB控制芯片的性能,設計出相應的連接電路,并在USB開發(fā)板上進行仿真實驗。硬件設計除了要考慮USB控制器本身的外圍電路(如外接微處理器芯片、增加RAM芯片、更改程序存儲器等),還應考慮要用USB連接的外設。硬件電路設計49固件程序就是固化在USB主機控制器硬件ROM中的HC(參看USB主機協(xié)議棧架構(gòu)示意圖),它是USB設備運行的核心,能讓主機能夠識別該設備,并響應主機的各種請求。對于一個USB設備,不論用戶選擇那一種芯片,都需要編寫輔助USB控制芯片與主機和外設中其它硬件電路通信的固件代碼。因為硬件需要在固件程序的參與和控制下才能完成預期的設備功能。固件程序主要完成7個任務。固件程序編寫50固件程序編寫(續(xù)1)⑴初始化工作,包括設置一些特殊功能寄存器的初值以實現(xiàn)指定設備的屬性或功能,如開中斷、使能接口控制器、配置端口等;⑵發(fā)現(xiàn)USB設備接入的子程序,并判斷該設備是高速設備,還是低速設備;⑶對接入的USB設備進行枚舉,指定其USB地址。51⑷輔助硬件完成模擬設備的斷開與重新連接,對接收到的數(shù)據(jù)包進行分析判斷,從而對主機的設備請求作出適當?shù)捻憫?,完成主機對設備的配置任務;⑸中斷處理;⑹數(shù)據(jù)的接收與發(fā)送;⑺外圍電路的控制。固件程序的編寫可能因為控制芯片的不同而不同。芯片廠商通常都提供例子代碼,只要對它稍加修改就可以使用。固件程序編寫(續(xù)2)52參看USB主機協(xié)議棧架構(gòu)示意圖,USB設備驅(qū)動開發(fā)主要指USBD和USB客戶模塊的開發(fā)。如果是標準設備則可以使用操作系統(tǒng)自帶的驅(qū)動程序來訪問USB設備。否則需要另外編寫驅(qū)動程序。芯片廠商也經(jīng)常提供例子驅(qū)動程序和范例程序。設備驅(qū)動程序編寫53使用C、C++、JAVA和匯編語言等編程工具,編寫嵌入式產(chǎn)品的應用程序。例如,USB接口的便攜式心電圖測試儀,基于USB的嵌入式圖像采集與顯示系統(tǒng),基于USB的嵌入式虛擬儀器等。應用軟件編寫548.4嵌入式系統(tǒng)常用外部設備嵌入式系統(tǒng)常用的外部設備與PC機和大型計算機使用的外部設備有所不同,這點在手持設備上表現(xiàn)的更加明顯。本節(jié)主要介紹手持設備上常用的四種外部設備或者模塊,它們是:小鍵盤、液晶顯示器、觸摸屏和無線接入模塊和技術。558.4.1鍵盤鍵盤是計算機的基本輸入設備之一。在嵌入式系統(tǒng)中使用的鍵盤多數(shù)是4X4的16鍵小鍵盤。有的嵌入式產(chǎn)品根據(jù)需要可以再外加一個PS/2接口,連接標準鍵盤。講解以下內(nèi)容:非編碼式鍵盤識別按鍵方法硬件接線方法軟件編程處理流程線反轉(zhuǎn)法按鍵識別程序鍵盤概述從內(nèi)部結(jié)構(gòu)上看,鍵盤是由排列成矩陣形式的一系列按鍵開關組成,有編碼式鍵盤和非編碼式鍵盤兩大類。編碼式鍵盤是通過數(shù)字電路直接產(chǎn)生對應于按鍵的ASCII碼,這種方式目前很少使用。非編碼式鍵盤將按鍵排列成矩陣的形式,由硬件或軟件隨時對矩陣掃描,一旦某一鍵被按下,該鍵的行列信息即被轉(zhuǎn)換為位置碼并送入主機,再由鍵盤驅(qū)動程序查表,從而得到按鍵的ASCII碼,最后送入內(nèi)存中的鍵盤緩沖區(qū)供主機分析執(zhí)行。非編碼式鍵盤由于其結(jié)構(gòu)簡單、按鍵重定義方便而成為目前嵌入式系統(tǒng)最常采用的鍵盤類型。57非編碼式鍵盤識別按鍵方法非編碼式鍵盤識別按鍵的方法有兩種:行掃描法線反轉(zhuǎn)法58讓一個行線引腳發(fā)出低電平信號,使該引腳對應的鍵盤上某一行線為低電平,而其余行接高電平。參看圖8-41。然后讀取列線值,如果列值中有某位為低電平,則表明行列交點處的鍵被按下:否則掃描下一行,直到掃描完全部行線為止。換言之,如果該行線所連接的鍵沒有按下的話,則列線所接的端口得到的是全“1”信號,如果有鍵按下的話,則得到非全“1”信號。為了防止雙鍵或多鍵同時按下,往往從第0行一直掃描到最后1行,若只發(fā)現(xiàn)1個閉合鍵,則為有效鍵,否則全部作廢。
行掃描法59線反轉(zhuǎn)法也是識別閉合鍵的一種常用方法,該法比行掃描速度快,但在硬件上要求行線和列線外接上拉電阻。先將行線作為輸出線,列線作為輸入線,行線輸出全“0”信號,讀入列線的值,然后將行線和列線的輸入輸出關系互換,并且將剛才讀到的列線所接的端口輸出,再讀取行線的輸入值。那么在閉合鍵所在的行線上值必為0。這樣,當一個鍵被按下時,必定可讀到一對唯一的行列值。線反轉(zhuǎn)法60非編碼式鍵盤識別按鍵方法鍵盤按鍵控制方法通常有三種按鍵識別方法:<1>程序控制掃描方式,即程序查詢方式;<2>定時掃描方式,由處理器內(nèi)部定時器產(chǎn)生定時中斷信號(例如每0.5秒),CPU響應中斷后對鍵盤進行掃描;<3>鍵盤中斷控制方式,當鍵盤上有鍵按下去之后立即引發(fā)鍵盤中斷請求,處理器執(zhí)行鍵盤掃描。這種方法效率最高。下面的鍵盤接口案例采用第3種控制方法。61小鍵盤硬件接線方法4x4小鍵盤的線反轉(zhuǎn)法按鍵識別示意圖:左圖中給出了按照線翻轉(zhuǎn)識別按鍵方法在S3C44B0X的GPF口上連接4x4小鍵盤的硬件接線。62線翻轉(zhuǎn)法小鍵盤編程處理流程利用S4C44B0X處理器多功能I/O口的PF口實現(xiàn)非編碼式4x4小鍵盤的線翻轉(zhuǎn)按鍵識別的編程步驟如下: (1)PCONF寄存器設置 (2)PDATF寄存器設置 (3)PUPF寄存器設置63線翻轉(zhuǎn)法小鍵盤編程處理流程(續(xù)1)(1)PCONF寄存器設置由于第一次操作需要設定PF3~0為輸出口(行線),PF7~4為輸入口(列線)。因此寫如下一條PCONF寄存器的工作方式指令:rPCONF=0000000000000001010101B=0x55;//決定了PF1~8口線的操作1方式第二次操作需要設定PF3~0為輸入口(行線),PF7~4為輸出口(列線)。因此PCONF寄存器的工作方式設置指令改為:rPCONF=0000010010010100000000B=0x1250;//決定了PF1~8口線的操作2方式64線翻轉(zhuǎn)法小鍵盤編程處理流程(續(xù)2)(2)PDATF寄存器設置PF3~0作為輸出口輸出掃描碼時,可采用下面的一條指令。rPDATF=0xF0;PF7~4作為輸入口讀入鍵值時,可采用下面的一條指令。Rowkeyvalue=(rPDATF&0xF0)>>4;類似地:PF7~4作為輸出口輸出掃描碼時,可采用下面的一條指令。rPDATF=0x0F;PF3~0作為輸入口讀入鍵值時,可采用下面的一條指令。Columnkeyvalue=(rPDATG&0x0F);65線翻轉(zhuǎn)法小鍵盤編程處理流程(續(xù)3)(3)PUPF寄存器設置設置PF口各個引腳線內(nèi)部的上拉電阻指令如下:rPUPF=0x00;//PF7~0的上拉電阻置為使能狀態(tài)
線翻轉(zhuǎn)法小鍵盤按鍵識別程序教材程序清單8-2給出了線翻轉(zhuǎn)法小鍵盤按鍵識別程序清單678.4.2液晶顯示器液晶顯示器LCD:LiquidCrystalDisplay,簡稱液晶屏是一種數(shù)字顯示技術,可以通過液晶和彩色過濾器過濾光源,在平面面板上產(chǎn)生圖像。與傳統(tǒng)的陰極射線管(CRT)相比,LCD占用空間小,低功耗,低輻射,無閃爍,降低視覺疲勞。目前液晶顯示器成為嵌入式系統(tǒng)產(chǎn)品上最常見的顯示設備。68
有關液晶顯示器的主要教學內(nèi)容液晶屏顯像基本原理液晶顯示器技術指標液晶顯示器物理結(jié)構(gòu)LCD模塊和LCD控制器S3C2410A內(nèi)嵌LCD控制器的特性S3C2410ALCD控制器的控制信號69液晶材料是一種介于固體和液體之間的有機化合物,常溫下以長棒狀的分子存在,叫做液晶單元。液晶屏的內(nèi)部有一個液晶盒,所有液晶單元放在液晶盒中。在自然狀態(tài)下,它們的長軸大致平行。但是在電場作用下能夠改變其排列方向。液晶屏里的每一個液晶單元都對應一個電極。液晶單元在加電或斷電情況下可以做到讓光線偏轉(zhuǎn)或者不偏轉(zhuǎn)。液晶屏顯像基本原理2008年12月15日南京大學計算機系70液晶盒一般置放在兩塊偏光板之間。液晶屏幕后面有一個背光,該光源打在第一層偏光板上,然后光線到達液晶單元。當光線穿過液晶單元時,就會產(chǎn)生光線的色澤改變。穿過液晶單元射出來的光線,還必需經(jīng)過一個彩色濾光片以及第二塊偏光板。兩塊偏光板相差的90度??梢岳秒妷簛砀淖円壕卧木w形狀,實現(xiàn)遮光和透光效果,從而達到顯示目的。如果為液晶盒的每個像素點設置一個開關電路,就做到完全單獨地控制一個像素點。用控制電路把顯示存儲器里的圖像數(shù)據(jù)加載到液晶屏的像素矩陣上,人們就能從液晶屏幕上看到灰度圖像或者彩色圖像。液晶屏顯像基本原理(續(xù))2008年12月15日南京大學計算機系71主要有下列7項指標⒈響應時間⒉亮度⒊對比度(contreast)⒋LCD的點距和可視面積⒌LCD的分辨率⒍色彩指數(shù)⒎視角
液晶顯示器技術指標2008年12月15日南京大學計算機系72結(jié)構(gòu)不同的LCD,其顯示響應輸入信號的時間差異很大。對于LCD速度的需求取決于用途。用于PC機的文本顯示,響應時間250~500ms就可以滿足要求。實時視頻顯示,則必須小于50ms。目前具有視頻響應能力的LCD只有有源點陣的TFT-LCD,它的響應時間在30~50ms范圍內(nèi)。LCD的響應時間指標2008年12月15日南京大學計算機系73LCD的亮度取決于LCD的結(jié)構(gòu)和背景照明類型。亮度的測量單位通常為英尺朗伯(footlamberts)或坎德拉/每平方米(candelas/squaremeter),它們之間的換算關系為:1fl=3.425cd/m2或1cd/m2=0.292fl對大多數(shù)環(huán)境來說,25cd/m2的亮度一般可以滿足要求。LCD的亮度指標2008年12月15日南京大學計算機系74對比度(contrast)通常是指開狀態(tài)像素與關狀態(tài)像的亮度比率。高分辨率顯示器的對比度的比率范圍為10:1~100:1。盡管人們的肉眼接受對比度的能力取決于多種因素,許多場合下,7:1或更高一點就能滿足要求。高于20:1時,人的肉眼就覺察不到它們的差別所在了。LCD的對比度指標2008年12月15日南京大學計算機系75LCD顯示器的像素點距指標同CRT有差距。LCD顯示器的像素點距多半為0.32-0.297mm左右,比CRT的點距指標略差一些。CRT的像素點距一般為0.28mm??梢暶娣e指能夠看到像素的面積,往往用顯示矩形的對角線長度來表示。例如:14英寸,2英寸等。LCD的點距和可視面積指標2008年12月15日南京大學計算機系76以LCD顯示矩形面上的縱方向像素數(shù)和橫方向像素數(shù)之乘積來表示,受限于LCD的可視面積大小。手機LCD的顯示面積較小,分辨率大約在200×300像素的范圍內(nèi)。一般的嵌入式監(jiān)控設備LCD分辨率可以達到640×480像素。LCD的分辨率技術指標2008年12月15日南京大學計算機系77LCD屏幕顏色數(shù)是衡量LCD品質(zhì)的重要指標。LCD面板每個獨立的像素色彩是由紅、綠、藍(R、G、B)三種基本色來控制。每個基本色根據(jù)控制其亮度的二進制數(shù)數(shù)位多少,分成不同的色階。例如R、G、B分別用1位表示,則效果為8種彩色顯示。如果R、G、B的色階分別使用6位控制,即有64種表現(xiàn)度,則每個獨立的像素就有64×64×64=262144種色彩。當R、G、B三個基本色的每一個色階控制能達到8位,即有256種表現(xiàn)度,那么每個獨立的像素的色彩總數(shù)就高達256×256×256=16777216種。通常65536色已基本可滿足我們?nèi)庋鄣淖R別需求。26萬色是數(shù)碼相機高質(zhì)量照片所需要的彩色指數(shù)。LCD的色彩指數(shù)指標2008年12月15日南京大學計算機系78視覺是指人們觀察顯示器的范圍。它用于垂直于顯示器平面的法向平面角度來度量。如45度的視角,表示人們可以從法向平面開始向上下左右任意方向的0~45度角均可觀察到顯示器的顯示內(nèi)容。LCD的視角指標2008年12月15日南京大學計算機系79常見的液晶顯示器按物理結(jié)構(gòu)分為四種:⑴扭曲向列型(TN-TwistedNematic);⑵超扭曲向列型(STN-SuperTN);⑶雙層超扭曲向列型(DSTN-DualScanTortuosityNomograph);⑷薄膜晶體管型(TFT-ThinFilmTransistor)。其中前三種是無源點陣LCD。液晶顯示器物理結(jié)構(gòu)2008年12月15日南京大學計算機系80TN-LCD的對比度通常小于3:1,視角小于+20度。其顯示品質(zhì)、反應速度及視角較差,多用于簡單數(shù)字及文字顯示的中/小尺寸面板,例如電子表及電子計算器、尋呼機等。STN-LCD增大液晶分子的扭曲角,使其具有高達10:1的對比度和高達+40度的視角,顯示效果比TN-LCD好,但是在應用面上與TN-LCD差不多。液晶顯示器物理結(jié)構(gòu)(續(xù)1)2008年12月15日南京大學計算機系81DSTN-LCD是由超扭曲向列型顯示器(STN)發(fā)展而來,采用雙掃描技術,因此顯示效果相對STN-LCD來說有所提高。但是DSTN顯示屏上每個像素點的亮度和對比度都不能獨立控制,造成其顯示效果欠佳。DSTN-LCD像素矩陣是被動矩陣(無源矩陣),它只能顯示一定的顏色深度,不是真正的彩色顯示器,因而又稱為“偽彩顯”。DSTN-LCD的優(yōu)點是:結(jié)構(gòu)簡單,價格相對低廉,耗能也比TFT-LCD少,因視角小可以防止窺視屏幕內(nèi)容而達到保密作用。所以目前DSTN液晶顯示屏仍然占有一定的市場份額。
液晶顯示器物理結(jié)構(gòu)(續(xù)2)2008年12月15日南京大學計算機系82TFT-LCD薄膜晶體管顯示器于1985年誕生,它是主動矩陣式(有源矩陣)的產(chǎn)品。TFT-LCD的每個像素點都是由集成在自身上的TFT來控制的,它們是有源像素點。因此,不但反應時間可以極大地加快(至少可以做到80ms左右,一般為30ms左右);對比度和亮度也大大提高了;同時分辨率也得到了空前的提升。TFT-LCD具有更高的對比度和更豐富的色彩,熒屏更新頻率也更快,所以我們稱之為“真彩”。液晶顯示器物理結(jié)構(gòu)(續(xù)3)2008年12月15日南京大學計算機系83與傳統(tǒng)的CRT顯示器相比,TFT-LCD體積小、厚度薄、重量輕、耗能少、工作電壓低、無輻射、無閃爍,能直接與CMOS集成電路相匹配,易于實現(xiàn)大規(guī)模集成化生產(chǎn)。由于優(yōu)點眾多,目前臺式機和筆記本電腦的主流顯示器采用了TFT-LCD。液晶顯示器物理結(jié)構(gòu)(續(xù)4)2008年12月15日南京大學計算機系84下面我們給出典型的嵌入式產(chǎn)品的液晶屏參數(shù)。①常見的嵌入式教學實驗箱液晶屏:4096色、STN屏、640×480像素、5.7英寸;②諾基亞公司6300型手機:1600萬色、TFT彩色屏幕、240×320像素、2.0英寸;③蘋果公司iPHONE手機:1600萬色、320×480像素、點距:每英寸160像素(相當于0.15mm)、3.5英寸。液晶顯示器物理結(jié)構(gòu)(續(xù)5)2008年12月15日南京大學計算機系85市場上銷售的LCD有兩種類型。一種是帶有驅(qū)動電路的LCD顯示模塊,這種LCD可以與各種低檔單片機進行接口,如8051系列單片機。另外一種是LCD顯示屏,沒有驅(qū)動電路,需要配接驅(qū)動電路才能使用。LCD模塊和LCD控制器2008年12月15日南京大學計算機系86三星公司的S3C2410A處理器片內(nèi)集成了LCD控制器,該控制器具備LCD驅(qū)動能力,其內(nèi)部結(jié)構(gòu)如圖:
LCD模塊和LCD控制器(續(xù)1)2008年12月15日南京大學計算機系87S3C2410A
的LCD控制器內(nèi)含6個邏輯模塊。REGBANK是LCD控制器的寄存器組,擁有17個可編程寄存器和一個256x16的調(diào)色板存儲器,用來對LCD控制器的各項參數(shù)進行設置。LCDCDMA則是LCD控制器專用的DMA數(shù)據(jù)通道,負責將視頻數(shù)據(jù)從顯示存儲器讀出,經(jīng)過VIDPRCS(視頻信號處理單元)邏輯在從VD[23:0]總線發(fā)送給LCD屏。借助這種特殊的DMA通道,視頻數(shù)據(jù)可以無需CPU處理就在顯示屏上顯示出來。LCD模塊和LCD控制器(續(xù)2)2008年12月15日南京大學計算機系88LCD模塊和LCD控制器(續(xù)3)VIDPRCS邏輯將對經(jīng)過它的顯示數(shù)據(jù)進行格式變換,例如為4/8位的單掃描屏或者4位雙掃描屏提供數(shù)據(jù)。TIMEGEN(時序信號產(chǎn)生單元)由可編程邏輯組成,負責產(chǎn)生各種LCD驅(qū)動程序常用的接口定時信號和時鐘速率。TIMEGEN產(chǎn)生的信號有VSYNC、HSYNC、VCLK、VDEN。LPC3600是專用定時器,用于三星公司LTS350Q1-PD1/2型3英寸豎向256色TFT液晶屏。2008年12月15日南京大學計算機系89對STN-LCD屏:-支持3種掃描方式的STN屏:4位單掃、4位雙掃和8位單掃-支持單色LCD屏:4級灰度和16級灰度屏-支持256色和4096色彩色STN屏(CSTN)-支持分辨率為640*480、320*240、160*160以及其它規(guī)格的多種STN屏最大顯存空間:4MB
在256色顯示模式時,最大可支持4096×1024、2048×2048和1024×4096顯示。S3C2410A內(nèi)嵌LCD控制器的特性-12008年12月15日南京大學計算機系90對TFT-LCD屏:-支持單色、4級灰度、16色和256色的彩色調(diào)色板顯示模式-支持64K和16M色非調(diào)色板顯示模式-支持分辨率為640*480,320*240及其它多種規(guī)格的LCD
最大顯存空間:4MB
在64K色彩顯示模式時,最大可支持2048×1024分辨率顯示。S3C2410A內(nèi)嵌LCD控制器的特性-22008年12月15日南京大學計算機系91對于控制TFT屏來說,除了要向它發(fā)送視頻數(shù)據(jù)(VD[23:0])以外,還有以下6個信號是必不可少的,分別是:S3C2410A的LCD控制器
用于TFT屏的控制信號2008年12月15日南京大學計算機系921)VSYNC,垂直同步信號:用來指示新的一幀圖像的開始;2)HSYNC,水平同步信號:用來給出新的一行掃描信號的開始;3)VCLK,像點時鐘:是LCD控制器和LCD驅(qū)動器的像素時鐘信號,LCD控制器在VCLK信號的上升沿處將數(shù)據(jù)送出,在VCLK信號的下降沿處被LCD控制器采樣;4)VDEN,數(shù)據(jù)有效信號:視頻數(shù)據(jù)使能信號;5)LEND,行結(jié)束信號:行掃描結(jié)束信號,LCD驅(qū)動器在每掃描一行像素后給出該信號;6)LCD_PWREN,液晶屏使能信號:LCD_PWREN信號用來控制LCD控制器的開或關,以便降低功耗,它需要LCD控制器硬件設計的支持。S3C2410A的LCD控制器
用于TFT屏的控制信號(續(xù))2008年12月15日南京大學計算機系938.4.3觸摸屏觸摸屏是一種歷史悠久的外部設備,早在上世紀60年代觸摸屏就開始在一些公共場合得到使用。目前已經(jīng)成為重要的嵌入式輸入設備,廣泛應用在個人自助存款取款機、PDA、媒體播放器、汽車導航器、智能手機、醫(yī)療電子設備等,使用頻度僅次于鍵盤和鼠標。觸摸屏不是獨立的輸入設備,它必須安裝在液晶屏上,在液晶屏顯示數(shù)據(jù)時才能使用。2008年12月15日南京大學計算機系94觸摸屏系統(tǒng)的兩個組成部分觸摸檢測裝置和觸摸屏控制器是觸摸屏系統(tǒng)的兩個主要組成部分。觸摸檢測裝置安裝在顯示器屏幕前面,用于檢測用戶觸摸位置,接收后送觸摸屏控制器;觸摸屏控制器的主要作用是從觸摸點檢測裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點坐標,再送給CPU,它同時能接收CPU發(fā)來的命令并加以執(zhí)行。目前國內(nèi)廣泛使用的嵌入式觸摸屏專用控制芯片有ADS7843,ADS7846,UCB1400等。2008年12月15日南京大學計算機系95觸摸屏分類根據(jù)其觸摸檢測工作原理的不同可以把觸摸屏分成電阻式、電容式、表面聲波、紅外線掃描和近場成像式等幾大類,其中使用最廣泛的是電阻式觸摸屏。主要特點是精確度高,不受環(huán)境干擾,適用于各種場合。2008年12月15日南京大學計算機系96電阻式觸摸屏電阻式觸摸屏由4層的透明薄膜構(gòu)成,最下面是玻璃或有機玻璃構(gòu)成的基層,最上面是一層外表面經(jīng)過硬化處理從而光滑防刮的塑料層,附著在上下兩層內(nèi)表面的兩層為金屬導電層。電極選用導電性極好的材料構(gòu)成。當用筆或手指觸摸屏幕時,兩層電層在觸摸點處接觸。2008年12月15日南京大學計算機系97電阻式觸摸屏(續(xù))觸摸層的兩個金屬導電層分別用來測量X軸和Y軸方向的坐標。用于X坐標測量的導電層從左右兩端引出兩個電極,記為X+和X-。用于Y坐標測量的導電層從上下兩端引出兩個電極,記為Y+和Y-,這就是四線電阻觸摸屏的引線構(gòu)成。當在一對電極上施加電壓時,在該導電層上就會形成均勻連接的電壓分布。2008年12月15日南京大學計算機系98觸摸屏工作原理4線電阻觸摸屏原理圖:2008年12月15日南京大學計算機系99觸摸屏工作原理(續(xù)1)如果在X方向的電極對上施加一確定的電壓Vin,而Y方向電極對上不加電壓時,在X平行電場中,觸點P的電壓值Vx可在Y電極上反映出來。通過測量Y+電極對地的電壓大小,便可得知觸點的坐標Dx。用同樣的方法也可以得知觸點P的Y坐標Dy。2008年12月15日南京大學計算機系100觸摸屏工作原理(續(xù)2)計算公式如下:
公式8-2和公式8-3是P點的測量電壓計算公式。公式8-4和公式8-5是P點輸出的二進制代碼計算公式,以BB(Burr-Brown)公司出產(chǎn)的觸摸屏控制器ADS7843為例,其中的Vref是內(nèi)部的AD轉(zhuǎn)換器的參考電壓,n為轉(zhuǎn)換精度(n=8,或者n=12)。
2008年12月15日南京大學計算機系101觸摸屏工作原理(續(xù)3)送回觸摸屏控制器的X坐標值Dx與Y坐標值Dy僅是對當前觸摸點的電壓值的A/D轉(zhuǎn)換值,它不具有實用價值。這個值的大小不但與觸摸屏的分辨率有關,而且也跟觸摸屏與LCD貼合的情況有關。而且,LCD分辨率與觸摸屏的分辨率一般來說是不一樣,坐標也不一樣。因此。如果想得到反應LCD坐標的觸摸屏位置,還需要在程序中進行轉(zhuǎn)換。2008年12月15日南京大學計算機系102觸摸屏工作原理(續(xù)4)假設LCD分辨率是320x240,坐標原點在左上角;觸摸屏分辨率是900x900,坐標原點在左上角,則轉(zhuǎn)換公式如下:其中XLCD和YLCD是液晶屏的X坐標值與Y坐標值,Xmax、Xmin、Ymax、Ymin分別是觸摸屏X軸向和Y軸向的最大值和最小值。2008年12月15日南京大學計算機系103ADS7843與LCD和S3C44B0X的接線ADS7843是一個具備內(nèi)置12位A/D轉(zhuǎn)換和低導通電阻模擬開關的同步串行接口芯片,可支持高達125KHz的轉(zhuǎn)換速率,它的工作電壓Vcc為2.7V~5V,參考電壓Vref在1V到+Vcc之間均可,參考電壓的數(shù)值決定轉(zhuǎn)換器的輸入電壓范圍。在125KHz吞吐速率和2.7V電壓下的功耗為750μW,在關閉模式下的功耗僅為0.5μW。ADS7843有兩種AD轉(zhuǎn)換精度,8位/12位。
2008年12月15日南京大學計算機系104ADS7843的控制字位名稱描述7S必須做到S=1,標志數(shù)據(jù)傳輸開始6~4A2~A0通道選擇,3MODE12或8位轉(zhuǎn)換選擇,取值0=12位,取值1=8位2SER/nDFR參考電壓設置模式選擇,1=固定模式,0=差動模式1~0PD1~PD0電源模式,00為中斷低功耗模式,11為連續(xù)工作模式2008年12月15日南京大學計算機系105觸摸屏控制芯片接線示意圖ADS7843觸摸屏控制芯片與LCD和S3C44B0X的接線示意圖:2008年12月15日南京大學計算機系106觸摸屏控制芯片的編程ADS7843和外部進行數(shù)據(jù)交換是使用SPI總線,而S3C44B0X沒有SPI總線接口,所以采用通用I/O口軟件模擬SPI。圖8-44給出了ADS7843觸摸屏控制芯片與LCD以及S3C44B0X的通用I/O端口G的接線方法。具體寄存器設置如下:端口配置寄存器rPCONG=0x015F,決定PG0~PG7的工作方式;端口上拉寄存器rPUPG&=0x7F,用來設定端口是否具有內(nèi)部上拉。(詳細參看程序清單8-2和8-3)
2008年12月15日南京大學計算機系1078.4.4無線接入模塊和技術嵌入式系統(tǒng)與嵌入式系統(tǒng)之間的數(shù)據(jù)交換除了利用總線和聯(lián)網(wǎng)方式外,還采用無線方式。無線通信方式有多種,包括:紅外線、Wi-Fi、藍牙、ZigBee、GSM、GPRS、CDMA等。2008年12月15日南京大學計算機系108講解以下無線接入模塊/技術紅外線WLAN――802.11與Wi-Fi藍牙技術ZigBee技術藍牙與Wi-Fi共享GPRSCDMA與3G通信幾種無線接入技術的簡單比較2008年12月15日南京大學計算機系109無線通信外部設備的模塊化特點無線通信外部設備通常以功能獨立的模塊形式存在,內(nèi)含編碼/解碼的射頻信號發(fā)送/接收芯片,可以內(nèi)置也可以外置在電路板上,通過串口、USB口或者網(wǎng)口與嵌入式系統(tǒng)的數(shù)據(jù)總線連接,或者通過總線的專用適配卡接入。2008年12月15日南京大學計算機系110無線通信外部設備的模塊化特點(續(xù))舉例:紅外模塊的三種接口電路參看下面的模塊結(jié)構(gòu)示意圖:2008年12月15日南京大學計算機系1118.4.4.1紅外線紅外線是波長在750nm至100μm之間的電磁波,它的頻率高于微波而低于可見光,是一種人的眼睛看不到的光線。紅外通訊一般采用紅外波段內(nèi)的近紅外線,波長在0.75μm至25μm之間。2008年12月15日南京大學計算機系112紅外線(續(xù)1)紅外通信是利用紅外技術實現(xiàn)兩點間的近距離保密通信和信息轉(zhuǎn)發(fā)。它一般由紅外發(fā)射和接收系統(tǒng)兩部分組成。發(fā)射系統(tǒng)對一個紅外輻射源進行調(diào)制后發(fā)射紅外信號,而接收系統(tǒng)用光學裝置和紅外探測器進行接收,就構(gòu)成紅外通信系統(tǒng)。紅外模塊的接口方式較多,參看前面圖所示。要使各種設備能夠通過紅外口隨意連接,一個統(tǒng)一的軟硬件規(guī)范是必不可少的。2008年12月15日南京大學計算機系113紅外線(續(xù)2)1993年,由HP、COMPAQ、INTEL等二十多家公司發(fā)起成立了紅外數(shù)據(jù)協(xié)會(InfraredDataAssociation,簡稱IRDA)。為了保證不同廠商的紅外產(chǎn)品能夠獲得最佳的通訊效果,紅外數(shù)據(jù)協(xié)會把紅外數(shù)據(jù)通訊所采用的光波波長的范圍限定在850nm至900nm之內(nèi)。1994年,第一個IRDA的紅外數(shù)據(jù)通訊標準發(fā)布,即IRDA1.0。2008年12月15日南京大學計算機系114紅外線(續(xù)3)IRDA1.0簡稱為SIR(SerialInfraRed),它是基于HP-SIR開發(fā)出來的一種異步的、半雙工的紅外通訊方式。SIR以系統(tǒng)的異步通訊收發(fā)器(UART)為依托,通過對串行數(shù)據(jù)脈沖的波形壓縮和對所接收的光信號電脈沖的波形擴展這一編碼解碼過程(3/16EnDec)實現(xiàn)紅外數(shù)據(jù)傳輸。由于受到UART通訊速率的限制,SIR的最高通訊速率只有118.2Kbps,也就是大家熟知的電腦串行端口的最高速率。2008年12月15日南京大學計算機系115紅外線(續(xù)4)IrDA1.1協(xié)議提高通信速率到4Mbps,簡稱FIR(FastInfrared,快速紅外協(xié)議),采用PPM(PulsePositionModulation,脈沖相位調(diào)制)編譯碼機制,同時在低速時保留1.0協(xié)議規(guī)定。之后,IrDA又推出了最高通信速率在16Mbps的協(xié)議,簡稱VFIR(VeryFastInfrared,特速紅外協(xié)議)。2008年12月15日南京大學計算機系116紅外線(續(xù)5)通常人們把符合IrDA紅外通信協(xié)議的器件稱為IrDA器件,符合SIR協(xié)議的器件稱為SIR器件,符合FIR協(xié)議的器件稱為FIR器件,符合VFIR協(xié)議的器件稱為VFIR器件。紅外傳輸距離在幾厘米到幾十米,發(fā)射角度通常在0~15°,發(fā)射強度與接收靈敏度因不同器件不同應用設計而強弱不一。使用時只能以半雙工方式進行紅外通信。2008年12月15日南京大學計算機系117紅外線(續(xù)6)紅外通訊有著連接方便、成本低廉、點對點高速數(shù)據(jù)傳輸、跨平臺、簡單易用和結(jié)構(gòu)緊湊的特點,因此在嵌入式移動設備中獲得了廣泛的應用。紅外接口成為新一代手機的配置標準,它支持手機與電腦以及其他數(shù)字設備進行數(shù)據(jù)交流。2008年12月15日南京大學計算機系1188.4.4.2WLAN――802.11與Wi-Fi802.11是IEEE制定的一個無線局域網(wǎng)(WLAN)協(xié)議,用作一個無線客戶機與基站之間或者兩個無線客戶機之間的空中接口,最初于1997年接納為IEEE協(xié)議標準,后來在1999年被修訂。802.11是一個無線通信協(xié)議系列,包括以下3個主要協(xié)議標準:
802.11b
802.11a
802.11g
2008年12月15日南京大學計算機系119WLAN――802.11與Wi-Fi(續(xù)1)
802.11bIEEE于1999年9月批準了IEEE802.11b規(guī)范,這個規(guī)范也稱為Wi-Fi(無線保真,WirelessFidelity)。它定義了用于在共享的無線局域網(wǎng)進行通信的物理層和媒體訪問控制(MAC)子層;采用2.4GHz頻帶,共有3個不重疊的傳輸信道;傳輸速率能夠從11Mbps自動降到8.5Mbps。IEEE802.11b的頻段無需申請就可使用。既可作為對有線網(wǎng)絡的補充,也可獨立組網(wǎng),從而使網(wǎng)絡用戶擺脫網(wǎng)線的束縛,實現(xiàn)真正意義上的移動應用。2008年12月15日南京大學計算機系120WLAN――802.11與Wi-Fi(續(xù)2)
802.11a擴充了802.11標準的物理層,規(guī)定該層使用5GHz的頻帶。該標準傳輸速率范圍為6Mbps~54Mbps,共有12個不重疊的傳輸信道。這樣的速率既能滿足室內(nèi)的應用,也能滿足室外的應用。2008年12月15日南京大學計算機系121WLAN――802.11與Wi-Fi(續(xù)3)
802.11g2004年6月正式定案的第三個傳輸標準,共有3個不重疊的傳輸信道。它雖然同樣運行于2.4GHz,但由于該標準中使用了與802.11a標準相同的調(diào)制方式OFDM,使網(wǎng)絡達到了54Mbps的高傳輸速率。2008年12月15日南京大學計算機系122CX53121一款面向希望集成Wi-Fi功能的便攜或移動設備的802.11b/g器件。由ConexantSystems公司研制。該產(chǎn)品針對具有嵌入式無線網(wǎng)絡能力的電池供電手持產(chǎn)品,如蜂窩電話、智能電話、VoIP手機、照相機、MP3播放器、游戲控制器和全球定位系統(tǒng)。典型的Wi-Fi模塊舉例—12008年12月15日南京大學計算機系123STLC4420和STLC4550意法半導體(ST)公司的雙頻Wi-Fi解決方案。STLC4420提供了無線802.11a/b/g功能,屬于單一小型封裝,可以用于手機;它是一個高度集成的WLAN芯片,能夠在5GHz和2.4GHz兩個頻帶內(nèi)工作。STLC4550芯片僅支持802.11b/g。這兩款Wi-Fi模塊的功耗都非常低,適用于蜂窩電話、MP3播放器及其它便攜式消費電子產(chǎn)品。典型的Wi-Fi模塊舉例—22008年12月15日南京大學計算機系1248.4.4.3藍牙技術和藍牙模塊下面講解藍牙技術的相關內(nèi)容藍牙技術由來藍牙技術標準藍牙組網(wǎng)方式藍牙技術特點藍牙模塊的硬件構(gòu)造藍牙模塊與主機的連接2008年12月15日南京大學計算機系125早在1994年,瑞典的愛立信公司便已經(jīng)著手構(gòu)想以無線電波來連接計算機與電話等各種周邊裝置,決定建立一套室內(nèi)的短距離無線通信的開放標準,并以中世紀丹麥國王Harold的外號“藍牙”(Bluetooth)為其命名。自從愛立信提出藍牙技術這個構(gòu)想后,由于藍牙技術許多優(yōu)異的特性,立刻獲得許多廠商的支持。1998年2月,愛立信、諾基亞、英特爾、東芝和IBM公司共同發(fā)表聲明將組成一個SIG(SpecialInterestGroup,特別利益集團)小組,共同推動藍牙SIG協(xié)會的成立。藍牙技術由來2008年12月15日南京大學計算機系1261998年5月藍牙SIG協(xié)會分別在英國倫敦、加州圣荷西及日本東京公開宣布該協(xié)會正式成立,并歡迎全世界的相關廠商加入該協(xié)會。此后藍牙標準確實也獲得廣大的回應,各廠商紛紛加入該協(xié)會并投入藍牙技術的開發(fā)行列。藍牙技術由來(續(xù))2008年12月15日南京大學計算機系127源于藍牙V1.1版的IEEE802.15.1標準于2002年4月15日由美國電氣電子工程師學會的下屬機構(gòu)IEEE-SA的標準部門批準成為一個正式標準。它是致力于個人區(qū)域網(wǎng)絡(PAN,PersonalAreaNetwork)的短距離無線通信標準IEEE802.15的第1個標準。802.15.1標準的英文全稱為WirelessMACandPHYSpecificationsforWirelessPersonalAreaNetworks。該標準與藍牙V1.1完全兼容。藍牙技術標準2008年12月15日南京大學計算機系128藍牙收發(fā)器工作頻段是全球統(tǒng)一的2.4GHzISM(工業(yè)、科學、醫(yī)學)頻段。它采用以每秒鐘1600次/秒的快速跳頻擴頻技術,中心頻率是2.45MHz,可得到79個傳輸速率為1MHz帶寬的信道。具有很強的抗干擾能力;標準的有效傳輸距離為10米,通過添加放大器可將傳輸距離增加到100米。藍牙技術標準(續(xù)1)2008年12月15日南京大學計算機系129藍牙網(wǎng)絡的基本單元是微微網(wǎng)(Piconet),微微網(wǎng)由主設備(Master)單元(發(fā)起鏈接的設備)和從設備(Slave)單元構(gòu)成。藍牙組網(wǎng)技術屬無線連結(jié)的自組網(wǎng)(adhoc)技術。它免去了通常網(wǎng)絡連接所需要的電纜插拔和軟硬件系統(tǒng)同步配置操作,給用戶帶來了很大的方便。藍牙組網(wǎng)方式2008年12月15日南京大學計算機系130藍牙組網(wǎng)方式(續(xù)1)藍牙通訊協(xié)議是一種點對多點的通信協(xié)議,遵循主∕從設備的運行規(guī)則。藍牙設備間的數(shù)據(jù)傳輸不僅能夠點對點(Point-to-Point)方式,也支持單點對多點(Point-to-Multipoint)方式。按照標準,一個藍牙設備最多可以同時連接另外7個藍牙設備(處于Active狀態(tài)),周圍最多可有255個等待/備用的藍牙設備(處于Standby狀態(tài))。利用藍牙技術可將個人身邊的設備都連接起來,形成一個個人局域網(wǎng)(PersonalAreaNetwork,PAN)。2008年12月15日南京大學計算機系131一個藍牙個人局域網(wǎng)(PAN)示意圖:藍牙組網(wǎng)方式示意圖2008年12月15日南京大學計算機系132在藍牙網(wǎng)絡中,所有設備是對等的,通過其自身唯一的48位地址來進行標識??梢酝ㄟ^程序或用戶的干預將其中某個設備指定為主設備。主設備可以同時連接多達7個從設備,從而形成一個微微網(wǎng)。這種“單點對多點”的特點是藍牙不同于其他無線技術的。藍牙組網(wǎng)方式(續(xù)2)2008年12月15日南京大學計算機系133藍牙技術的定位是在現(xiàn)代通信網(wǎng)絡的最后10米。在同一房間內(nèi)相距不到幾米遠的地方,各種電子設備之間都可以利用無線電波互相連接,而不必只通過紅外線傳輸技術。藍牙技術特點2008年12月15日南京大學計算機系134圖中顯示了3種連接方案藍牙技術組網(wǎng)方案示意圖2008年12月15日南京大學計算機系135藍牙技術具有下列特點:1)可同時發(fā)送語音與數(shù)據(jù)2)使用全世界通用的頻段3)應用于各種電子設備4)低功率與低成本的模塊藍牙技術特點2008年12月15日南京大學計算機系136藍牙模塊的硬件設計方式是將所有的芯片與電阻、電容等組件制造在一片電路板上,成為一片獨立的藍牙模塊。在模塊內(nèi)最重要的組件是藍牙無線收發(fā)器(BluetoothRadio)和基帶控制器(BaseBandController)。藍牙模塊的硬件構(gòu)造2008年12月15日南京大學計算機系137藍牙模塊原理框圖:如圖所示,發(fā)送數(shù)據(jù)時,藍牙模塊接受來自主機(Host)的控制指令,經(jīng)過鏈路管理器和基帶控制器的處理后由無線收發(fā)器發(fā)出無線電波。藍牙模塊的硬件構(gòu)造(續(xù))2008年12月15日南京大學計算機系138藍牙模塊與主機的連接目前藍牙模塊的接入方式主要有兩種:一個是外接,另外一個是內(nèi)嵌。參看下圖。2008年12月15日南京大學計算機系139對于外接方式,藍牙技術標準定義了藍牙模塊與主機相連接的接口可以為USB或者UART,當藍牙模塊以上述任何一種接口與主機相連接時,HCI(主機控制接口)上層的通信協(xié)議由主機負責處理,HCI下層的通信協(xié)議則由模塊內(nèi)的鏈路管理器、基帶控制器與無線收發(fā)器負責。藍牙模塊與主機的連接(續(xù)1)2008年12月15日南京大學計算機系140如果采用內(nèi)嵌模塊方式生產(chǎn)內(nèi)含藍牙功能的嵌入式產(chǎn)品,則產(chǎn)品制造公司直接將藍牙模塊內(nèi)嵌在設備內(nèi)的PCB上,成為PCB的一部分。此時整個藍牙技術的通信協(xié)議都由主機(Host)負責處理,不需要HCI。藍牙模塊與主機的連接(續(xù)2)2008年12月15日南京大學計算機系141無論藍牙模塊是通過HCI與主機相連,還是直接內(nèi)嵌在設備內(nèi),一般來說,模塊內(nèi)的硬件結(jié)構(gòu)分為鏈路管理器、基帶控制器與無線收發(fā)器三部分,負責處理LMP層、基帶層、與RF層的協(xié)議。鏈路管理器與基帶控制器合稱為鏈路控制器。無線收發(fā)器內(nèi)含射頻發(fā)射組件,與主機相連接的HCI位于鏈路管理器之外。藍牙模塊與主機的連接(續(xù)3)2008年12月15日南京大學計算機系1428.4.4.4ZigBee技術ZigBee一詞源自蜜蜂通過跳ZigZag形狀的舞蹈來通知其他蜜蜂有關花粉位置等信息,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療事故賠償協(xié)議內(nèi)容
- 《電機技術應用》課件 2.2.4 異步電動機的機械特性
- 中學課程實施方案(2024-2025學年)
- 2024年度個人年終工作總結(jié)范文三
- 2023年高收縮腈綸項目籌資方案
- 2023年柔印CTP項目籌資方案
- 2023年鋼球光磨研設備項目融資計劃書
- 【虎嘯】2024年虎嘯年度洞察報告-汽車行業(yè)
- 經(jīng)絡腧穴學十二正經(jīng)復習題與參考答案
- 養(yǎng)老院老人生活照顧人員表彰制度
- 期末綜合卷(含答案) 2024-2025學年蘇教版數(shù)學六年級上冊
- 2025春夏運動戶外行業(yè)趨勢白皮書
- 中醫(yī)筋傷的治療
- 【MOOC】英文技術寫作-東南大學 中國大學慕課MOOC答案
- 護理產(chǎn)科健康教育
- 《〈論語〉十二章》說課稿 2024-2025學年統(tǒng)編版高中語文選擇性必修上冊
- 2024年PE工程師培訓教材:深入淺出講解
- 數(shù)字華容道+課時2
- 期末模擬考試卷01-2024-2025學年上學期高一思想政治課《中國特色社會主義》含答案
- 中華人民共和國學前教育法-知識培訓
- 2023-2024年高級經(jīng)濟師之工商管理試題庫(有答案)
評論
0/150
提交評論