日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]SPI總線在XF-S4240與MCS51通信中的應用介紹

SPI總線技術是Motorola公司推出的一種同步串行接口。它可以使MCU與各種外圍設備以串行方式進行通信以交換信息,并且硬件連接較少,編程方便。 SPI接口已經(jīng)是一種標準外設接口,目前已有很多MCU及外設都帶有SPI接口。MCS51雖然也有帶SPI接口的單片機——AT89S8252,但價格相對較高。在開發(fā)基于RFID的自助語音導游系統(tǒng)中,由于RFID讀卡模塊帶有SCI接口,XF-S4240語音合成模塊帶有SCI及SPI接口,如采用不帶有SPI接口的AT89C51單片機,必然存在擴展接口的問題。

     本文介紹的C51軟件模擬實現(xiàn)SPI通信接口的方法,編程簡單,有效降低了系統(tǒng)的成本。該方法已在項目開發(fā)中得到了驗證。

  1 語音模塊XF-S4240

  XF-S4240中文語音合成模塊是中科大訊飛信息科技有限公司面向高端應用推出的嵌入式中文語音合成模塊,可支持任意的中文文本、英文字母的語音合成。該模塊可以通過異步串口(UART)、SPI接口及I2C總線3種方式接收待合成的文本,直接合成為語音輸出。

  XF-S4240語音模塊封裝成16引腳形式,其13~16腳就是SPI通信接口。

  其命令格式由幀頭、數(shù)據(jù)長度區(qū)及數(shù)據(jù)區(qū)3部分組成。如要合成“歡迎您參觀莫高窟。”,只需對模塊發(fā)送格式為GB2312的文本代碼:

  


 

  其中0xFD為幀頭,0x00為數(shù)據(jù)區(qū)長度的高字節(jié),0x14為數(shù)據(jù)區(qū)長度的低字節(jié)(注意:長度字節(jié)為合成代碼字節(jié)長+2),0x01為語音合成命令,0x00為GB2312的命令碼。0xBB、0xB6為“歡”的GB2312碼,0xD3、0xAD為“迎”的G132312碼……0xA1、 0xA3為“。”的GB2312碼。

  2 XF-S4240的SPl通信方式

  2.1 XF-S4240的SPI通信說明

  XF-S4240模塊的SPI接口是4線全雙工同步串行通信接口。模塊在SPI通信中設置為Slave身份,SPI通信所需的時鐘信號由上位機提供,即上位機作為SPI通信中的Master身份,傳輸數(shù)據(jù)的位數(shù)為8位。

  圖 1是SPI通信的時序。SPI通信屬于同步串行通信。在與模塊的通信中,上位機將提供SCK同步時鐘信號。在SCK的上升沿,模塊和上位機同時鎖存1位數(shù)據(jù),每傳輸8位數(shù)據(jù)完成1字節(jié)數(shù)據(jù)的傳輸。使用SSEL選擇使能信號,是為了方便用戶在SPI通信接口上掛接多個XF-S4240板卡(或其他SPI接口的設備)。在與選定的XF-S4240板卡通信時,要將此設備的SSEL置為低電平,否則無法正常通信。

  

 

  在本項目中,單片機是主設備,語音模塊是從設備。主模式的顯著特征是:不論是發(fā)送還是接收,始終有SPI-CLK信號,SPISTE信號不是必需的。因為SPI串口只能有1片主機,因而不存在主機選擇問題,而且主模式下,同步時鐘SPICLK應由主機提供。

  2.2 SPI通信的工作原理

  要模擬SPI接口的工作過程,必須先了解SPI通信的工作原理。

  在主機發(fā)送數(shù)據(jù)時,直接將要發(fā)送的數(shù)據(jù)寫到主機的數(shù)據(jù)發(fā)送寄存器SPIDAT。這個寫操作就自動地啟動了主機的發(fā)送過程,即在同步時鐘SPICLK的節(jié)拍下將SPIDAT的內容按位送到引腳SPISIMO上。經(jīng)過8位時鐘周期完成1字節(jié)的發(fā)送。當SPIDAT的內容移送完畢時,硬件將置一個中斷標志 SPIINT FLAG,通知主機這個數(shù)據(jù)塊發(fā)送完畢。

  對于從機,在同步時鐘SPICLK的作用下,將引腳SPISI-MO上的數(shù)據(jù)按位接收到移位寄存器SPIDAT。當一個完整的數(shù)據(jù)塊接收完畢后,將置一個中斷標志SPIINT FLAG,通知從機這個數(shù)據(jù)塊接收完畢;同時將這個數(shù)據(jù)塊的內容復制到從機的SPI數(shù)據(jù)接收寄存器SPIRXBUF中,并進行右對齊。SPI通信中主機和從機的連接如圖2所示。

  

[!--empirenews.page--]
3 軟件模擬SPI接口的實現(xiàn)

  3.1 XF-S4240語音模塊與單片機的連接

  本設計中,AT89C51的SCI接口已被RFID讀卡模塊WM-01TA占用,由于AT89C51不帶有SPI接口,需要用I/O口模擬實現(xiàn)SPI接口來實現(xiàn)與XF-S4240的通信。為了保持電路與AT89S8252電路的一致性,在AT89C51的P1口(其中的P1.4~P1.7)上擴展了SPI接口。

  SS(P1.4):從使能輸入腳,低電平有效。

  MOSI(P1.5):主數(shù)據(jù)輸出或從數(shù)據(jù)輸入腳。

  MISO(P1.6):主數(shù)據(jù)輸入或從數(shù)據(jù)輸出腳。

  SCK(P1.7):主時鐘輸出或從時鐘輸入腳。

  CS(P1.1):片選。

  RST(P1.0):語音模塊復位。

  XF-S4240與單片機的連接如圖3所示。

  

 

  3.2 虛擬SPI通信的軟件模擬流程及驗證

  虛擬與SPI流程如圖4所示。

  

 

  虛擬SPI通信程序及驗證如下:

  

[!--empirenews.page--]
利用此SPI通信子程序,實現(xiàn)了需要的語音合成功能。

  

 

  結語

  SPI接口現(xiàn)已廣泛應用于各種數(shù)字電路中,能夠與很多種微處理器及外設相連。在沒有設置SPI專用接口的場合,采用虛擬SPI的方法是一種簡便易行的解決方案。實踐證明,虛擬SPI時序技術實現(xiàn)的通信具有簡單、穩(wěn)定、易用的特點,對于提高系統(tǒng)的性價比有現(xiàn)實意義。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉