SPI總線(xiàn)的UART擴展方法

發(fā)布時(shí)間:2010-10-2 18:21    發(fā)布者:conniede
關(guān)鍵詞: SPI總線(xiàn) , UART
1 引 言

目前,UART(Universal Asynchronous Receiver Transmitter,通用異步收發(fā)器)接口的使用越來(lái)越廣泛,許多設備上都提供了UART接口。工業(yè)使用的微處理器一般都只包括2個(gè)UART口。在實(shí)際工業(yè)數據發(fā)送和采集應用系統中,為了節省資源,微處理器直接通過(guò)UART口與設備進(jìn)行數據交互。這樣勢必會(huì )導致微處理器的UART口不夠,為了方便設備的接入,因此擴展UART口是一種理想的解決方案。同時(shí),考慮到微處理器的SPI/I2C總線(xiàn)上可以連接多個(gè)總線(xiàn)器件,為了充分利用資源,在實(shí)際應用中可以通過(guò)SPI/I2C實(shí)施對UART接口的擴展。本文提出了一種SPI擴展UART的方法,主要采用SCl6IS752芯片進(jìn)行UART接口擴展。SCl6IS752提供了標準SPI總線(xiàn)接口,只需要微處理器能提供標準的SPI或模擬SPI總線(xiàn)接口。整個(gè)設計簡(jiǎn)捷、經(jīng)濟,具有通用性。

本文最后介紹了擴展接口在無(wú)線(xiàn)數據采集集中器中的應用,可方便地使用擴展出的UART口連接相應的無(wú)線(xiàn)通信模塊,實(shí)現數據的采集和通信。

2 SPI總線(xiàn)

串行外圍設備接口(Serial Peripheral Interface,SPI)是Motorola公司推出的一種同步串行接口,其硬件功能強大,因此與SPI有關(guān)的軟件比較簡(jiǎn)單。一般情況下,實(shí)現SPI通信需要3~4根線(xiàn):同步時(shí)鐘(SCK)線(xiàn),用于實(shí)現主器件和從器件在MISO和MOSI線(xiàn)上串行數據傳輸的同步;主輸出/從輸入(MOSI)線(xiàn),用于主器件的輸出或從器件的輸入;主輸入/從輸出(MISO)線(xiàn),用于主器件的輸入或從器件的輸出;片選控制(CS)線(xiàn),用于從設備的選擇。SPI的工作模式有4種,本文采用了其中的一種主模式。

3 SCl6IS752擴展芯片

SCl6IS752是NXP公司推出的一款通過(guò)SPI/I2C總線(xiàn)擴展為UART接口的芯片。擴展出雙通道高性能的UART,并且能到達5 Mbps的數據率;提供8個(gè)額外的可編程的I/O腳;還可以提供數據速率高達115.2 kbps的IrDA。另外,SCl6IS752還具有其他高級的特性,例如自動(dòng)硬件和軟件流控制、自動(dòng)的RS485支持和軟件復位。

作為UART擴展接口芯片,SCl6IS752的引腳定義并不復雜,如圖1所示。XTAL1、XTFAL2引腳用來(lái)連接晶振電路,CS/A0用作SPI片選或者I2C總線(xiàn)器件地址選擇A0;I2C/SPI為I2C總線(xiàn)或SPI總線(xiàn)接口選擇;IRQ中斷引腳。其他引腳就主要包括擴展后的2個(gè)UART及I/O。


帶有SPI接口的微處理器與SCl6IS752的連接十分方便;如果不帶SPI接口,則可以通過(guò)I/O口來(lái)實(shí)現模擬SPI口的功能。

4 擴展UART的設計過(guò)程及原理

4.1 SPI-UART的工作過(guò)程

SPI接口協(xié)議要求接口設備按主從方式進(jìn)行配置,且同一時(shí)間內總線(xiàn)上只能有一個(gè)主器件。主輸出/從輸入(MOSI)信號是主器件的輸出和從器件的輸入,數據傳輸時(shí)最高位在先;主輸入/從輸出(MISO)信號是從器件的輸出和主器件的輸入,數據傳輸時(shí)也是最高位在先。串行時(shí)鐘(SCLK)信號是用于同步主器件和從器件之間在MOSI和MISO線(xiàn)上的串行數據傳輸。在整個(gè)數據傳輸過(guò)程中,片選信號(CS)應該處于低電平狀態(tài)。

在擴展方案中,微處理器作為主器件,SCl6IS752作為從器件。因此,在設置SPI控制器時(shí),應該設置SPI為從機。具體工作時(shí)序如圖2和圖3所示。





4.2 軟件設計

軟件設計的依據:一是硬件系統連接關(guān)系;二是SPI的工作時(shí)序;三是SCl6IS752的工作方式。程序主要包括對SPI接口和SCl6IS752的初始化、數據的發(fā)送和接收。

SPI接口的初始化。如果處理器提供標準的SPI口,那么只需要選擇SPI引腳功能,然后設置輸入/輸出;如果處理器不帶標準的SPI口,可以通過(guò)普通的I/0口來(lái)模擬SPI接口,完成引腳的設置后,還需要對SPI的模式、時(shí)鐘頻率進(jìn)行設置。

SCl6IS752的初始化。通過(guò)SCl6IS752轉換為串口輸出,所以必須考慮到串口的波特率、數據位、停止位、校驗位等的設置。同時(shí),在實(shí)驗過(guò)程中,采用接收中斷,這些也是在初始化SCl6IS752時(shí)要考慮的。

波特率的計算公式如下:


在下面的程序中,給出了對SC16IS752擴展出的A通道的初始化。




數據的發(fā)送。SCl6IS752發(fā)送器部分由一個(gè)發(fā)送保存寄存器(THR)和發(fā)送移位寄存器(TSR)組成。THR實(shí)際是一個(gè)64字節FIFO。THR接收數據并將其移入TSR,然后在TSR中將其轉化為串行數據并在TX端移出。處理器將數據通過(guò)SPI總線(xiàn)送入SCl6IS752的發(fā)送寄存器中,等待數據被取走。  
數據的接收。SCl6IS752接收器由一個(gè)接收保存寄存器(RHR)和接收移位寄存器(RSR)組成。RHR實(shí)際上是一個(gè)64字節FIFO。RSR接收RXD端的串行數據,然后將數據轉化為并行數據轉移到RHR。

一般的情況下,為了系統設計的方便,可以選擇SCl6IS752的數據發(fā)送所采用的查詢(xún)方式;而接收數據是通過(guò)芯片的IRQ引腳觸發(fā)處理器的外部中斷,產(chǎn)生中斷信號,通知處理器接收和處理數據。其工作程序流程如圖4所示。





5 擴展UART接口實(shí)例

采用SPI擴展出的UART可滿(mǎn)足標準串行端口UART的要求,而且操作簡(jiǎn)單。設置串口的波特率、數據位、停止位和校驗位,數據的發(fā)送與接收都可由用戶(hù)自行定義。筆者在無(wú)線(xiàn)數據采集集中器系統中,對擴展UART的可行性和實(shí)用性進(jìn)行了論證。下面以無(wú)線(xiàn)數據采集集中器為例,說(shuō)明SCl6IS752的實(shí)際應用。

5.1 可行性

在設計無(wú)線(xiàn)數據采集集中器過(guò)程中,選用了NXP公司的LPC2148作為集中器的處理器。LPC2148自帶2個(gè)UART口,而無(wú)線(xiàn)數據采集集中器需要4個(gè)UART,分別為RS232數據傳輸、紅外數據傳輸、接收數據UART和無(wú)線(xiàn)通信UART口。很明顯,需要擴展UART口才能滿(mǎn)足要求。微處理器LPC2148有標準的SPI/I2C總線(xiàn),因此筆者就選擇了SCl6IS752作為UART的擴展芯片。

SCl6IS752具有16C450可兼容的寄存器集,擴展出的UART引腳分別為T(mén)X、RX、RTS和CTS。這些都和標準的UART一樣,只是初始化的設置不同。初始化完成后,具體操作函數和標準的UART接口操作類(lèi)似。只是芯片在讀取和發(fā)送數據時(shí),與微處理器的數據交互是通過(guò)SPI總線(xiàn)進(jìn)行的。

5.2 應用設計

集中器系統具體設計硬件連接圖如圖5所示。SCl6IS752的IRQ直接與LPC2148的外部中斷EINTl連接。擴展的UART接收到數據后,就會(huì )通過(guò)IRQ產(chǎn)生一個(gè)低電平觸發(fā)外部中斷,而在處理器的外部中斷服務(wù)程序中處理接收到的數據。在實(shí)際集中器測試中,擴展出的UART口與標準的UART具有同樣功效。芯片的晶振頻率采用1.843 2 MHz,與晶振連接的是22 pF的電容,芯片需要采用3.3 V電源供電。與CPU連接的引腳共有6個(gè),功能如表1所列。其中,SPI配置必需的引腳是MO-SI、MISO、SCK。因為選用芯片的功能是SPI轉UART,所以直接把12C/SPI引腳接地。








6 結 語(yǔ)

UART廣泛用于Modem、手持工業(yè)設備、條形閱讀器、測試設備、消費產(chǎn)品與PC機之間,以及小型網(wǎng)絡(luò )之間的通信。本文結合微處理器的SPI或I2C接口功能,設計了一種擴展UART接口;微處理器沒(méi)有標準的SPI或I2C接口時(shí),也可通過(guò)普通的I/O來(lái)模擬SPI/I2C總線(xiàn)。擴展出的UART應用于實(shí)際無(wú)線(xiàn)數據采集系統,實(shí)驗結果表明,完全能夠達到標準UART接口的要求。處理器的UART口不夠用時(shí),也可通過(guò)此方案達到設計的要求。
本文地址:http://selenalain.com/thread-30161-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)在線(xiàn)工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页