SPI總線在XF-S4240與MCS51通信中的設(shè)計(jì)
出處:tuwen 發(fā)布于:2011-09-01 22:43:32
同步外設(shè)接口(SPI)是由摩托羅拉公司開發(fā)的全雙工同步串行總線,該總線大量用在與EEPROM、ADC、FRAM和顯示驅(qū)動(dòng)器之類的慢速外設(shè)器件通信。SPI(Serial Peripheral Interface)是一種串行同步通訊協(xié)議,由一個(gè)主設(shè)備和一個(gè)或多個(gè)從設(shè)備組成,主設(shè)備啟動(dòng)一個(gè)與從設(shè)備的同步通訊,從而完成數(shù)據(jù)的交換。SPI 接口由SDI(串行數(shù)據(jù)輸入),SDO(串行數(shù)據(jù)輸出),SCK(串行移位時(shí)鐘),CS(從使能信號(hào))四種信號(hào)構(gòu)成,CS 決定了的與主設(shè)備通信的從設(shè)備,如沒有CS 信號(hào),則只能存在一個(gè)從設(shè)備,主設(shè)備通過產(chǎn)生移位時(shí)鐘來發(fā)起通訊。通訊時(shí),數(shù)據(jù)由SDO 輸出,SDI 輸入,數(shù)據(jù)在時(shí)鐘的上升或下降沿由SDO 輸出,在緊接著的下降或上升沿由SDI 讀入,這樣經(jīng)過8/16 次時(shí)鐘的改變,完成8/16 位數(shù)據(jù)的傳輸。
本文介紹的C51軟件模擬實(shí)現(xiàn)SPI通信接口的方法,編程簡單,有效降低了系統(tǒng)的成本。該方法已在項(xiàng)目開發(fā)中得到了驗(yàn)證。
1 語音模塊XF-S4240
XF-S4240語音合成模塊是一款高端中文語音合成模塊。該模塊可通過UART、SPI和I2C三種接口接收待朗讀的文本,將文本轉(zhuǎn)換為語音輸出,具有非常好的文本朗讀效果。模塊采用COB(Chip On Board)封裝,可方便的集成到需要中文語音合成功能的嵌入式設(shè)備之中。此模塊面向無法利用軟件實(shí)現(xiàn)語音合成的嵌入式應(yīng)用環(huán)境提供一套效果卓越的語音技術(shù)解決方案。
XF-S4240語音模塊封裝成16引腳形式,其13~16腳就是SPI通信接口。
其命令格式由幀頭、數(shù)據(jù)長度區(qū)及數(shù)據(jù)區(qū)3部分組成。如要合成"歡迎您參觀莫高窟。",只需對(duì)模塊發(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通信所需的時(shí)鐘信號(hào)由上位機(jī)提供,即上位機(jī)作為SPI通信中的Master身份,傳輸數(shù)據(jù)的位數(shù)為8位。
圖 1是SPI通信的時(shí)序。SPI通信屬于同步串行通信。在與模塊的通信中,上位機(jī)將提供SCK同步時(shí)鐘信號(hào)。在SCK的上升沿,模塊和上位機(jī)同時(shí)鎖存1位數(shù)據(jù),每傳輸8位數(shù)據(jù)完成1字節(jié)數(shù)據(jù)的傳輸。使用SSEL選擇使能信號(hào),是為了方便用戶在SPI通信接口上掛接多個(gè)XF-S4240板卡(或其他SPI接口的設(shè)備)。在與選定的XF-S4240板卡通信時(shí),要將此設(shè)備的SSEL置為低電平,否則無法正常通信?! ?/P>

在本項(xiàng)目中,單片機(jī)是主設(shè)備,語音模塊是從設(shè)備。主模式的顯著特征是:不論是發(fā)送還是接收,始終有SPI-CLK信號(hào),SPISTE信號(hào)不是必需的。因?yàn)镾PI串口只能有1片主機(jī),因而不存在主機(jī)選擇問題,而且主模式下,同步時(shí)鐘SPICLK應(yīng)由主機(jī)提供。
2.2 SPI通信的工作原理
要模擬SPI接口的工作過程,必須先了解SPI通信的工作原理。
在主機(jī)發(fā)送數(shù)據(jù)時(shí),直接將要發(fā)送的數(shù)據(jù)寫到主機(jī)的數(shù)據(jù)發(fā)送寄存器SPIDAT.這個(gè)寫操作就自動(dòng)地啟動(dòng)了主機(jī)的發(fā)送過程,即在同步時(shí)鐘SPICLK的節(jié)拍下將SPIDAT的內(nèi)容按位送到引腳SPISIMO上。經(jīng)過8位時(shí)鐘周期完成1字節(jié)的發(fā)送。當(dāng)SPIDAT的內(nèi)容移送完畢時(shí),硬件將置一個(gè)中斷標(biāo)志 SPIINT FLAG,通知主機(jī)這個(gè)數(shù)據(jù)塊發(fā)送完畢。
對(duì)于從機(jī),在同步時(shí)鐘SPICLK的作用下,將引腳SPISI-MO上的數(shù)據(jù)按位接收到移位寄存器SPIDAT.當(dāng)一個(gè)完整的數(shù)據(jù)塊接收完畢后,將置一個(gè)中斷標(biāo)志SPIINT FLAG,通知從機(jī)這個(gè)數(shù)據(jù)塊接收完畢;同時(shí)將這個(gè)數(shù)據(jù)塊的內(nèi)容復(fù)制到從機(jī)的SPI數(shù)據(jù)接收寄存器SPIRXBUF中,并進(jìn)行右對(duì)齊。SPI通信中主機(jī)和從機(jī)的連接如圖2所示?!?/P>

3 軟件模擬SPI接口的實(shí)現(xiàn)
3.1 XF-S4240語音模塊與單片機(jī)的連接
本設(shè)計(jì)中,AT89C51的SCI接口已被RFID讀卡模塊WM-01TA占用,由于AT89C51不帶有SPI接口,需要用I/O口模擬實(shí)現(xiàn)SPI接口來實(shí)現(xiàn)與XF-S4240的通信。為了保持電路與AT89S8252電路的一致性,在AT89C51的P1口(其中的P1.4~P1.7)上擴(kuò)展了SPI接口。
SS(P1.4):從使能輸入腳,低電平有效。
MOSI(P1.5):主數(shù)據(jù)輸出或從數(shù)據(jù)輸入腳。
MISO(P1.6):主數(shù)據(jù)輸入或從數(shù)據(jù)輸出腳。
SCK(P1.7):主時(shí)鐘輸出或從時(shí)鐘輸入腳。
CS(P1.1):片選。
RST(P1.0):語音模塊復(fù)位。
XF-S4240與單片機(jī)的連接如圖3所示?! ?/P>

3.2 虛擬SPI通信的軟件模擬流程及驗(yàn)證
虛擬與SPI流程如圖4所示?!?/P>



結(jié)語
SPI接口現(xiàn)已廣泛應(yīng)用于各種數(shù)字電路中,能夠與很多種微處理器及外設(shè)相連。在沒有設(shè)置SPI專用接口的場合,采用虛擬SPI的方法是一種簡便易行的解決方案。實(shí)踐證明,虛擬SPI時(shí)序技術(shù)實(shí)現(xiàn)的通信具有簡單、穩(wěn)定、易用的特點(diǎn),對(duì)于提高系統(tǒng)的性價(jià)比有現(xiàn)實(shí)意義。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開發(fā)實(shí)踐指南2026/1/6 10:40:19
- 嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計(jì)實(shí)踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時(shí)代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識(shí)2025/7/14 16:59:04









