SX系列通信控制器
摘要:介紹SX系理單片機(jī)的性能、內(nèi)部結(jié)構(gòu)、端口特性和存儲(chǔ)器體系結(jié)構(gòu),說(shuō)明虛擬外設(shè)這一新的其廣闊的應(yīng)用前景。SX系列單片機(jī)具有高速運(yùn)行和靈活的I/O特性,可作為一個(gè)嵌入式設(shè)備應(yīng)用在通信類的產(chǎn)品設(shè)計(jì)中。
本文引用地址:http://m.butianyuan.cn/article/244626.htm關(guān)鍵詞:嵌入式Internet設(shè)備 RISC結(jié)構(gòu) 配置端口狀態(tài) 存儲(chǔ)器體系結(jié)構(gòu) 虛擬外設(shè)
SX52BD(以及SX48BD)是SX系列產(chǎn)品,是采用CMOS工敢制造的、可配置的通信控制器。它的操作頻率可達(dá)到50/75/100MHz,是一種高速計(jì)算機(jī);其大部分指令為單周期指令,運(yùn)行速度可達(dá)到一般MCU的20倍;靈活的I/O特性使之具有高效的實(shí)時(shí)控制功能。正因?yàn)樗母咚龠\(yùn)行特性,設(shè)備可以用軟件模塊(虛擬外設(shè))替代一部分過(guò)去由硬件實(shí)現(xiàn)的實(shí)時(shí)功能,這是SX系列的最重要的特點(diǎn)。目前可以實(shí)現(xiàn)的虛擬外設(shè)大多用于通信設(shè)備,如通信接口和Internet連接協(xié)議等。下面主要從它的硬件結(jié)構(gòu)進(jìn)行說(shuō)明。
1 主要性能和特點(diǎn)
①CPU性能?;赗ISC結(jié)構(gòu),采用壓縮的指令系統(tǒng),除branch外大部分為單周期指令;操作頻率最高可達(dá)100MHz,此時(shí)指令周期10ns,內(nèi)部中斷響應(yīng)時(shí)間達(dá)30ns;可以通過(guò)運(yùn)行時(shí)間內(nèi)讀代碼(IREAD指令)進(jìn)行快速平臺(tái)查找;它能克服一般MCU運(yùn)行速度慢的缺點(diǎn),使得SX系列的內(nèi)部程序達(dá)到硬件實(shí)時(shí)控制功能的目的。
②硬件外設(shè)特性。內(nèi)部包含2個(gè)(帶8位預(yù)定標(biāo)器的)16位定時(shí)器,運(yùn)行方式有軟件時(shí)鐘模式、PWM模式、同步PWM/捕捉模式以及外部事件模式;有一個(gè)(帶8位預(yù)定標(biāo)器的)可編程的8位定時(shí)/計(jì)數(shù)器(RTCC)和看門(mén)狗計(jì)時(shí)器(共享RTCC預(yù)定標(biāo)器);內(nèi)部包含模擬比較器,這對(duì)于一般的應(yīng)用來(lái)說(shuō)顯得十分方便。
③由于SX系列高速運(yùn)行特性,再加上靈活的I/O功能,設(shè)備就可以用軟件模塊(虛擬外設(shè))代替那些硬件所具有的準(zhǔn)確的實(shí)時(shí)功能。目前可以實(shí)現(xiàn)的虛擬外設(shè)大多用于通信設(shè)備(例如通信接口和Internet連接協(xié)議等)以及作為運(yùn)行速度比較高的信號(hào)發(fā)生裝置和轉(zhuǎn)換裝置。
④編程和調(diào)試支持??梢酝ㄟ^(guò)串口或并口對(duì)芯片進(jìn)行在線編程(例如可以接振蕩器引腳進(jìn)行在線串行編程),芯片具有在線調(diào)試支持邏輯。對(duì)于實(shí)時(shí)仿真、全程調(diào)試,可以由第三工具供應(yīng)商提供完備的開(kāi)發(fā)環(huán)境。這些軟件支持包括:即時(shí)可用的虛擬外設(shè)模塊庫(kù)、虛擬外設(shè)綜合實(shí)例以及用于通信的應(yīng)用軟件工具包等。
SX設(shè)備在襯能夠提供新的思路和解決辦法,一方面它可對(duì)應(yīng)用于一些常規(guī)的設(shè)備,如:過(guò)程控制器、電子設(shè)備/工具、安全/監(jiān)視系統(tǒng)、汽車用戶、動(dòng)力控制系統(tǒng)、私人通信設(shè)備等等;另一方面,SX通信控制器為SX堆棧的硬件平臺(tái),它能實(shí)現(xiàn)執(zhí)行整個(gè)TCP/IP協(xié)議、物理層及其它相關(guān)的高速通信層——虛擬外設(shè)模塊。邊疆的虛擬外設(shè)庫(kù)也在不斷擴(kuò)大應(yīng)用范圍,如:Internet協(xié)議堆棧、通信接口的出現(xiàn)都使設(shè)計(jì)師就能將一些產(chǎn)品嵌入Internet。它的整個(gè)網(wǎng)絡(luò)連接協(xié)議堆棧工具能使單片網(wǎng)絡(luò)服務(wù)器和E-mail設(shè)備在嵌入式場(chǎng)合中應(yīng)用。平些工具包括TCP/IP網(wǎng)絡(luò)連接協(xié)議、物理層及其它的相關(guān)的高速通信層——虛擬外設(shè)模塊。它的虛擬外設(shè)庫(kù)也在不斷擴(kuò)大應(yīng)用范圍,如:Internet協(xié)議堆棧、通信接口的出現(xiàn)都使設(shè)計(jì)師就能將一些產(chǎn)品嵌入Internet。它的整個(gè)網(wǎng)絡(luò)連接協(xié)議堆棧工具能使單片網(wǎng)絡(luò)服務(wù)器和E-mail設(shè)備在嵌入式場(chǎng)合中應(yīng)用。這些工具包括TCP/IP網(wǎng)絡(luò)連接協(xié)議的物理層界面,使系統(tǒng)設(shè)計(jì)師能開(kāi)發(fā)出一些成本低廉的嵌入式Internet設(shè)備,而不必用到外部的物理通路或PC網(wǎng)關(guān)。
2 電路結(jié)構(gòu)
圖1所示為SX系列產(chǎn)品的內(nèi)部結(jié)構(gòu)框圖??梢钥吹絊X系列產(chǎn)品內(nèi)部使用了2個(gè)獨(dú)立的具有不同地址總線的存儲(chǔ)器,一個(gè)用于程序,另一個(gè)用于數(shù)據(jù),兩者是嚴(yán)格區(qū)分開(kāi)的。它允許數(shù)據(jù)同時(shí)從程序存儲(chǔ)流至SRAM,能從程序存儲(chǔ)器訪問(wèn)數(shù)據(jù)表格。這一結(jié)構(gòu)的優(yōu)點(diǎn)為:取指為存儲(chǔ)傳送可通過(guò)多層通道交替進(jìn)行。這意味著在執(zhí)行當(dāng)前指令的同時(shí),能獲取從程序存儲(chǔ)器傳來(lái)的下一條指令。實(shí)際上這是一種基于RISC的結(jié)構(gòu),其存儲(chǔ)器設(shè)計(jì)工藝可使設(shè)備比傳統(tǒng)的MCU塊20倍,且能準(zhǔn)確自由振蕩及可完成編程。SX系列產(chǎn)品采用4個(gè)階段傳遞(接收-解碼-執(zhí)行-寫(xiě)入),所以每一時(shí)鐘周期執(zhí)行1條指令。當(dāng)最大操作頻率達(dá)到100MHz時(shí),指令以每10ns的時(shí)鐘周期運(yùn)行。
程序存儲(chǔ)器采用EEPROM或Flash,片內(nèi)容量為4 096字節(jié),在使用中重復(fù)寫(xiě)周期可大于10 000次以上;而數(shù)據(jù)存儲(chǔ)器是SRAM,片內(nèi)容量為262×8位。
除了上面的顯著特點(diǎn)外,它的接口部分還包括以下部分:2個(gè)帶8位預(yù)定標(biāo)器的16位定時(shí)器,可支持不同的操作模式(PWM模式、同步PWM/捕捉模式以及外部事件計(jì)數(shù)器模式);1個(gè)帶預(yù)定標(biāo)器的通用的8位定時(shí)器,1個(gè)模擬比較器,1個(gè)brownout檢測(cè)器及看門(mén)狗定時(shí)器;具有一種多源喚醒功能的節(jié)點(diǎn)模式,端口B(8個(gè)引腳)上有喚醒/中斷功能;1個(gè)內(nèi)部RC振蕩器,可供用戶選擇時(shí)鐘模式,RC內(nèi)部振蕩器可調(diào)范圍為31.25kHz~4MHz。
目前SX系列中有SX48BD和SX52BD兩種產(chǎn)品,除了引腳封裝形式不同外其它功能基本相同。從圖2的2種電路外形圖可以看出:SX48BD為48腳封裝,SX52BD為52腳封裝。它們的區(qū)別是A端口不同:后者有8個(gè)I/O引腳,而前者卻只有4個(gè)。
3 端口特性
由圖2可以看到SX系列都有5個(gè)8位的I/O端口(即端口A~端口E),其中端口A的情況與其它4個(gè)端口有些區(qū)別。圖3給出了端口A內(nèi)部的情況:硬件結(jié)構(gòu)及端口每個(gè)引腳的配置寄存器的情況。端口A提供對(duì)稱的驅(qū)動(dòng)能力。在48腳的SX48BD器件中,端口A只有4個(gè)引腳(而不是8個(gè)引腳)。每個(gè)端口有4個(gè)相對(duì)應(yīng)的8位寄存器(即方向、數(shù)據(jù)、TTL/CMOS選擇以及上拉允許寄存器)用于配置端口引腳的狀態(tài)。如:選擇高阻輸入或輸出,或選擇TTL或CMOS電壓電平,或選擇接入/關(guān)斷上拉電阻。接照端口引腳最低位與寄存器的最低位相對(duì)應(yīng)的關(guān)系,要訪問(wèn)這些配置寄存器,還必須同時(shí)將合理的值寫(xiě)入MODE(方式)寄存器中。
開(kāi)機(jī)時(shí),寄存器中所有位初始化為“1”。在軟件的控制下,相關(guān)的寄存器對(duì)各個(gè)端口位進(jìn)行配置,如圖4所示。
與端口A的情況不同的是,端口B、C、D和E還有額外相關(guān)的寄存器(施密特觸發(fā)允許寄存器),能允許或禁止各個(gè)端口引腳上的施密特觸發(fā)器起使用。端口B支持芯片上的微分比較器,RB1端口和RB2端口分別是比較器的負(fù)、正輸入腳,RB0端口則是比較器的輸出引腳。另外,端口B還支持所有8個(gè)引腳上的多重輸入喚醒功能。端口B和C還支持多功能定時(shí)器T1和T2;RB4和RB5是T1是捕捉輸入引腳,RB6是T1的PWM輸出引腳;RB7是T1的外部事件計(jì)數(shù)器輸入引腳;同樣地,RC0和RC1是T2的捕捉輸入引腳,RC2是T2的PWM輸出引腳,RC3是T2的外部事件計(jì)數(shù)器輸入引腳。圖5給出了端口B、C、D、E的硬件結(jié)構(gòu)及相應(yīng)端口每個(gè)引腳的配置寄存器。
4 存儲(chǔ)器體系結(jié)構(gòu)
程序存儲(chǔ)器——由4K個(gè)12位寬度的字組成。程序存儲(chǔ)字由二進(jìn)制程序計(jì)數(shù)器編址。復(fù)位時(shí),程序計(jì)數(shù)器初始化為0FFFH。假如沒(méi)有分支操作,它將會(huì)增至設(shè)備的最大值且循環(huán)往復(fù),1個(gè)頁(yè)面由512個(gè)相鄰的程序存儲(chǔ)字組成。在一頁(yè)的首址,程序計(jì)數(shù)器的低9位均為“0”;而在該頁(yè)的末址,程序計(jì)數(shù)器的低9位均為“1”。這種頁(yè)面結(jié)構(gòu)對(duì)程序計(jì)數(shù)器無(wú)任何影響,程序計(jì)數(shù)將能通過(guò)頁(yè)間繼續(xù)增加。
程序計(jì)數(shù)器——包含有執(zhí)行指令的12位地址,低8位存儲(chǔ)在PC寄存器中(02h),而3個(gè)高位由狀態(tài)寄存器STATUS(PA0、PA1、PA2)指定,第8位不用。改變狀態(tài)位將導(dǎo)致通過(guò)程序存儲(chǔ)頁(yè)間跳轉(zhuǎn)和調(diào)用子程序,要優(yōu)先執(zhí)行轉(zhuǎn)移(branch)操作時(shí),用戶程序須初始化狀態(tài)寄存器的高位,以轉(zhuǎn)移到期望的頁(yè)面。另一種方式是使用“頁(yè)”指令,它按照操作數(shù)的特定值自動(dòng)地址轉(zhuǎn)移到期望的頁(yè)面。
子程序堆?!?個(gè)12位存儲(chǔ)寄存器。在寄存器內(nèi)容的物理轉(zhuǎn)移(如從程序計(jì)數(shù)器到堆棧,或者與此相反方向以及在堆棧內(nèi)部)操作中規(guī)章能影響堆棧,尤其是調(diào)用和返回操作。堆棧在物理上和邏輯上均與數(shù)據(jù)RAM分離,程序不能對(duì)堆棧進(jìn)行讀和寫(xiě)。
數(shù)據(jù)存儲(chǔ)器——是一個(gè)基于RAM的寄存器,包括262個(gè)常用寄存器以及9個(gè)特殊功能寄存器,所以這些寄存器均為8位寬。數(shù)據(jù)存儲(chǔ)器分16層,從0~F。每個(gè)層包含有16個(gè)寄存器,另加1個(gè)由16個(gè)“全局的”寄存器組成額外層。由于這些寄存器由層及“文檔”組成,故這些存儲(chǔ)映射寄存器被稱之為“文檔寄存器”。
尋址方式——每個(gè)訪問(wèn)數(shù)據(jù)存儲(chǔ)存儲(chǔ)器的SX指令,都包含有1個(gè)5位操作碼指令,用于指明對(duì)哪一個(gè)寄存器進(jìn)行訪問(wèn)??s寫(xiě)“fr”(文檔寄存器),代表5位寄存器地址標(biāo)志符。例如:在“mov fr,W”指令中,“fr”代表1個(gè)5位的值或標(biāo)志,如“mov $ OF,W”指令(將工作寄存器W中內(nèi)容移入至文檔寄存器0Fh)。
有3種不同的尋址方式:間接尋址、直接尋址、半直接尋址。對(duì)寄存器尋址模式的選取依賴于指令中5位“fr”的值,例如:
*間接模式:fr=00h
*直接模式:(fr bit 4=0)fr=01h-0Fh
*半直接模式:(fr bit 4=1)fr=10h-1Fh
在圖6中描述了數(shù)據(jù)存儲(chǔ)器的結(jié)構(gòu)圖。
對(duì)于間接尋址模式(fr=00),文檔選擇寄存器(FSR)指定需訪問(wèn)的寄存器。FSR是一個(gè)8位存儲(chǔ)映射寄存器(地址為04h)。在間接尋址中,它作為一個(gè)指向數(shù)據(jù)存儲(chǔ)器的8位指針。在這種模式下,全局寄存器層及層1~層F均可用,而層0不可用。
對(duì)于直接尋址(fr=01-0F),“fr”的值自身已指明需訪問(wèn)的寄存器,而FSR寄存器被忽略。對(duì)于這種尋址模式,只有全局寄存器層才被訪問(wèn),若要訪問(wèn)任何其它的層,必須使用間接或半直接尋址。
對(duì)于半直接尋址(fr=10-1F),層數(shù)由FSR的4個(gè)高位選擇;而在層內(nèi)的寄存器由“fr”的低4位決定,也就是說(shuō),寄存器地址由FSR的4個(gè)高位和“fr”的4個(gè)低位共同來(lái)決定。在這種選址模式下,F(xiàn)SR的低位被忽略,從0號(hào)層~F層均可訪問(wèn),但是全局寄存器層不可訪問(wèn)。
圖6列出了寄存器在間接、直接和半直接模式下怎樣進(jìn)行尋址。不管FSR寄存器中為何值,在直接尋址時(shí),16個(gè)全局寄存器均可訪問(wèn)。全局寄存器在間接尋址模式下亦可進(jìn)行訪問(wèn),但在半直接模式下,不可訪問(wèn)。在這16個(gè)全局寄存器中,9個(gè)為特定功能寄存器(RTCC、PC、STATUS等等),6個(gè)為全局寄存器。00被用于間接尋址(INDF)。從0號(hào)層~F層的所有寄存器均為全局寄存器。要改變FSR寄存器中的值,程序既可在FSR寄存器寫(xiě)出8位值,又可用“層”指令。層指令可寫(xiě)FSR寄存器的4、5及6位,而7號(hào)位被用于選擇存儲(chǔ)層的高層或低層。因此,若要改變上部層至另一個(gè)上部層,只需使用一個(gè)“層”指令;若要改變上層至下層,則“層”指令后面必須用“setb FSR.7”指令。
5 虛擬外設(shè)的概念
虛擬外設(shè)的概念使“芯片軟件系統(tǒng)”得以實(shí)現(xiàn),即用軟件模塊代替?zhèn)鹘y(tǒng)的硬件外圍設(shè)備,達(dá)到與硬件設(shè)備一樣的功效。由于運(yùn)用虛擬外設(shè)庫(kù)以及良好的速度和靈活性,為工程和產(chǎn)品開(kāi)發(fā)提供了廣闊的道路。它能大大地降低產(chǎn)品開(kāi)發(fā)周期,縮短產(chǎn)品研制周期。虛擬外設(shè)庫(kù)能為系統(tǒng)設(shè)計(jì)師提供一些預(yù)定的方案,或在開(kāi)發(fā)外設(shè)時(shí)為系統(tǒng)設(shè)計(jì)師提供先入之見(jiàn)。有了虛擬外設(shè)支持的功能后,設(shè)計(jì)師只要專注于其它的應(yīng)用場(chǎng)合。由于標(biāo)準(zhǔn)和協(xié)議的不斷發(fā)展,虛擬外設(shè)與在線重復(fù)編程能力結(jié)合起來(lái)為通信行業(yè)提供了有力的開(kāi)發(fā)前景。概括地說(shuō),虛擬外設(shè)有以下優(yōu)點(diǎn):使用設(shè)備簡(jiǎn)單、能減少元件數(shù)目、打入市場(chǎng)快、增加設(shè)計(jì)靈活性、與大多數(shù)機(jī)器兼容降低整個(gè)系統(tǒng)的成本。
可以實(shí)現(xiàn)的虛擬外設(shè)實(shí)例有:
*一些通用的通信接口如:I2C、微總線(μ級(jí)總線)、SPI、IrDA棧、UART以及調(diào)制解調(diào)器功能。
*Internet連接協(xié)議,如:UDP、TCP/IP、HTTP、SMTP、POP3等;
*頻率信號(hào)產(chǎn)生和調(diào)試;
*PPM/PWM的產(chǎn)生;
*Δ-∑ADC;
*DTMF產(chǎn)生/檢測(cè);
*FFT/DFT算法。
由于SX系列硬件結(jié)構(gòu)和虛擬外設(shè)概念的結(jié)構(gòu),為通信開(kāi)發(fā)部門(mén)提供了一個(gè)強(qiáng)大的、靈活的開(kāi)發(fā)平臺(tái);由于它具有高度的處理能力、靈活多變的結(jié)構(gòu),使之有比較高的成本效益。強(qiáng)大的開(kāi)發(fā)能力能使設(shè)計(jì)師有足夠信心緊跟標(biāo)準(zhǔn)以及許多領(lǐng)域內(nèi)的革新,開(kāi)發(fā)出大量的未來(lái)通信控制產(chǎn)品。
評(píng)論