<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > SPI總線在XF-S4240與MCS51通信中的應(yīng)用介紹

          SPI總線在XF-S4240與MCS51通信中的應(yīng)用介紹

          作者: 時間:2012-08-16 來源:網(wǎng)絡(luò) 收藏

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

          本文引用地址:http://www.ex-cimer.com/article/148578.htm

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

            1 語音模塊

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

            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通信中設(shè)置為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接口的設(shè)備)。在與選定的XF-S4240板卡通信時,要將此設(shè)備的SSEL置為低電平,否則無法正常通信。

            

          SPI通信的時序 www.elecfans.com

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

            2.2 SPI通信的工作原理

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

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

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

            

          SPI通信中主機和從機的連接 www.elecfans.com
          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();