- 相關(guān)推薦
基于Z85C30的多協(xié)議串行通信設(shè)計(jì)
摘要:簡(jiǎn)要從硬件和軟件兩方面介紹一種嵌入式的多協(xié)議串行通信設(shè)計(jì)方案。該設(shè)計(jì)方案采用多協(xié)議串行通信控制器Z85C30及外圍電路開(kāi)發(fā),通過(guò)軟件編程,可滿足各種串行通信要求,如異步、按字節(jié)同步、按位同步等通信格式。引言
我們?cè)谇度胧较到y(tǒng)的開(kāi)發(fā)過(guò)程中,經(jīng)常需要設(shè)計(jì)串行通信口,用以同其它設(shè)備或計(jì)算機(jī)網(wǎng)絡(luò)交換數(shù)據(jù)。針對(duì)不同的應(yīng)用場(chǎng)合及不同的通信格式,在硬件設(shè)計(jì)方面有許多不同的芯片可供選擇,如Intel 8251A、Intel 8274、Intel 82530等。采用ZILOG公司的串行通信控制器Z85C30進(jìn)行設(shè)計(jì),和其它器件相比,具有功能強(qiáng)、速度快、外部邏輯少等優(yōu)點(diǎn)。
1 串行通信控制器Z85C30介紹
Z85C30是ZILOG公司推出的一種串行通信控制器(SCC)。它具有雙通道,適用于8位、16位處理器的系統(tǒng),能夠完成串行到并行、并行到串行的轉(zhuǎn)換。Z85C30能夠處理諸如異步格式、面向字節(jié)的同步規(guī)程(如IBM雙同步規(guī)程)、面向比特的同步規(guī)程(如HDLC、SDLC);能夠產(chǎn)生、檢查CRC循環(huán)冗余檢驗(yàn)碼。
Z85C30每個(gè)通道有14個(gè)寫(xiě)寄存器、7個(gè)讀寄存器。通過(guò)對(duì)其編程,可將通信控制器配置滿足各種格式,如數(shù)據(jù)長(zhǎng)度、停止位的位數(shù)、有無(wú)奇偶檢驗(yàn)等。
1.1 Z850C30主要性能
①同步速率。16MHz時(shí)鐘下,傳輸速率達(dá)4Mb/s;使用16MHz時(shí)鐘,傳輸速率達(dá)1Mb/s(FM編碼);使用16MHz時(shí)鐘,傳輸速率達(dá)500Kb/s(NRZI編碼)。
②異步性能。每個(gè)字符5、6、7或8位;1/2或2位停止位;奇或偶校驗(yàn);1、16、32、64倍時(shí)鐘格式;斷點(diǎn)產(chǎn)生和測(cè)試;奇偶、超載和幀出錯(cuò)測(cè)試。
③按字節(jié)同步性能。內(nèi)同步或外同步;1或2個(gè)同步字符;自動(dòng)CRC產(chǎn)生、測(cè)試。
④SDLC/HDLC性能。異常中止序列的產(chǎn)生和檢測(cè);“0”的自動(dòng)插入和刪除,報(bào)文間標(biāo)志的自動(dòng)插入,地址段的識(shí)別,信息段剩余管理,CRC產(chǎn)生、測(cè)試;具有EOP識(shí)別/循不入口和出口的SDLC方式;可選NRZ、NRZI、曼徹斯特或FM編/解碼;具有時(shí)鐘恢復(fù)能力的數(shù)字鎖相環(huán);具有自動(dòng)回波和局部回送的診斷能力。
另外,Z85C30能在SDLC/HDLC方式下更高效地工作,如果有10×19位SDLC/HDLC幀狀態(tài)FIFO,14位SDLC/HDLC幀計(jì)數(shù)器,自動(dòng)SDLC/HDLC標(biāo)志發(fā)送,自動(dòng)復(fù)位SDLC/HDLC Underrun/EOM標(biāo)志,自動(dòng)預(yù)置SDLC/HDLC CRC等。
1.2 Z85C30主要引腳簡(jiǎn)介
Z85C30引腳按功能分為7組:數(shù)據(jù)地址總線、總線時(shí)序和復(fù)位、控制引腳、中斷控制、串行數(shù)據(jù)、通道控制引腳和時(shí)鐘引腳,如圖1所示。Z85C30引腳定義如圖2所示。
D7~D0:數(shù)據(jù)地址總線,用于傳送命令和數(shù)據(jù)。
RD、WR:讀、寫(xiě)信號(hào),用于對(duì)Z85C30的寄存器操作,低電平有效。
CE:片選信號(hào)。
A/B:A、B通道選擇,低電平表示選擇B通道,高電平選擇A通道。
D/C:數(shù)據(jù)/控制選擇,高電平表示與85C30之間傳輸?shù)氖菙?shù)據(jù),低電平表示與85C30間傳輸?shù)氖敲钚盘?hào)。
INT:中斷請(qǐng)求,低電平有效,當(dāng)SCC需要申請(qǐng)中斷時(shí),該信號(hào)有效。
INTACK:中斷響應(yīng),低電平有效。
IEI:中斷允許輸入。輸入,高電平有效。當(dāng)有多個(gè)中斷源時(shí),IEI和IEO一起組成中斷順序鏈優(yōu)先級(jí)排隊(duì)電路。
IEO:中斷允許輸出。輸出,高電平有效。
PCLK:時(shí)鐘輸入,用來(lái)同步內(nèi)部信號(hào),是標(biāo)準(zhǔn)的TTL電平信號(hào)。
TxD、RxD:發(fā)送、接收數(shù)據(jù),分A、B兩個(gè)通道。
TRxC、RTxC:通道時(shí)鐘,它們能被編程為幾種不同的操作械。RTxC能提供接收時(shí)鐘或傳送時(shí)鐘(在輸入方式),能提供傳輸時(shí)鐘計(jì)數(shù)器輸出(數(shù)據(jù)鎖相器)、晶體振蕩器輸出、波特率發(fā)生器輸出和輸入時(shí)鐘輸出(它們都是在輸出方式)。RTxC能提供接收時(shí)鐘、傳送時(shí)鐘、波特率發(fā)生器時(shí)鐘、數(shù)字鎖相環(huán)時(shí)鐘。
1.3 Z85C30的接口時(shí)序
RD和WR是總線傳輸?shù)膬蓚(gè)控制信號(hào)。CE、D/C、A/B和INTACK用于控制總線傳輸?shù)念愋?偩上傳輸?shù)牡刂吩谟行Ш螅琑D和WR才變低。CE、WR和CE、RD鎖存地址的時(shí)序是一致的。
(1)讀周期時(shí)序
在RD和CE有效時(shí),A/B和D/C上的地址被鎖存。在此周期內(nèi)CE必須保持低,并且INTACK必須保持高。Z85X30的總線驅(qū)動(dòng)設(shè)備只有在RD和CE都有效地才使能。在讀操作用D/C為高時(shí),不會(huì)影響指針的狀態(tài)。當(dāng)D/C為低且在內(nèi)部操作完成后,指針復(fù)位到0。
(2)寫(xiě)周期時(shí)序
在CE和WR有效時(shí),A/B、D/C和數(shù)據(jù)D7~D0同時(shí)被鎖存。在此周期內(nèi)CE必須保持低,并且INTACK必須保持高。在寫(xiě)操作且D/C為高時(shí),不會(huì)影響指針的狀態(tài)。當(dāng)D/C為低且在內(nèi)部操作完畢后,指針復(fù)位到0。
(3)中斷響應(yīng)周期
當(dāng)INTACK為低時(shí),進(jìn)入中斷響應(yīng)周期。這個(gè)A/B、D/C、CE、WR信號(hào)都被忽略。
1.4 Z85X30寄存器訪問(wèn)
訪問(wèn)寄存器有兩個(gè)步驟,是使用寄存器指針來(lái)完成尋址的。為尋址一個(gè)指定的寄存器,先通過(guò)寫(xiě)入WR0的指針位來(lái)指定寄存器。因?yàn)閆85X30只有唯一的寄存器設(shè)置存在,因此,可以從兩個(gè)通道中的任意一個(gè)將指針寫(xiě)入。當(dāng)指針寫(xiě)入后,再次的讀或?qū)懼芷冢ó?dāng)D/C為低時(shí))將存取剛才指定的寄存器。在讀和寫(xiě)周期結(jié)束
【基于Z85C30的多協(xié)議串行通信設(shè)計(jì)】相關(guān)文章:
多費(fèi)率電能表中基于單片機(jī)串行口紅外通信的設(shè)計(jì)12-05
一種基于鐵電存儲(chǔ)器的雙機(jī)串行通信技術(shù)03-18
基于串行外設(shè)接口(SPI)的CAN總線隔離擴(kuò)展設(shè)計(jì)03-18
基于VC++串行通信的無(wú)刷直流電機(jī)監(jiān)控系統(tǒng)03-29
基于 DSP 的網(wǎng)絡(luò)通信程序設(shè)計(jì)03-20
基于VB6.0的MSComm通信方法設(shè)計(jì)03-20