0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Z85C30串行通信控制器實(shí)現(xiàn)串行通信系統(tǒng)的應(yīng)用設(shè)計(jì)

電子設(shè)計(jì) ? 來源:單片機(jī)與嵌入式系統(tǒng)應(yīng)用 ? 作者:任續(xù)淵 ? 2021-05-05 09:40 ? 次閱讀

引言

我們在嵌入式系統(tǒng)的開發(fā)過程中,經(jīng)常需要設(shè)計(jì)串行通信口,用以同其它設(shè)備或計(jì)算機(jī)網(wǎng)絡(luò)交換數(shù)據(jù)。針對不同的應(yī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è)寫寄存器、7個(gè)讀寄存器。通過對其編程,可將通信控制器配置滿足各種格式,如數(shù)據(jù)長度、停止位的位數(shù)、有無奇偶檢驗(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)生和測試;奇偶、超載和幀出錯(cuò)測試。

③按字節(jié)同步性能。內(nèi)同步或外同步;1或2個(gè)同步字符;自動CRC產(chǎn)生、測試。

④SDLC/HDLC性能。異常中止序列的產(chǎn)生和檢測;“0”的自動插入和刪除,報(bào)文間標(biāo)志的自動插入,地址段的識別,信息段剩余管理,CRC 產(chǎn)生、測試;具有EOP識別/循不入口和出口的SDLC方式;可選NRZ、NRZI、曼徹斯特或FM編/解碼;具有時(shí)鐘恢復(fù)能力的數(shù)字鎖相環(huán);具有自動回波和局部回送的診斷能力。

另外,Z85C30能在SDLC/HDLC方式下更高效地工作,如果有10×19位SDLC/HDLC幀狀態(tài)FIFO,14位SDLC /HDLC幀計(jì)數(shù)器,自動SDLC/HDLC標(biāo)志發(fā)送,自動復(fù)位SDLC/HDLC Underrun/EOM標(biāo)志,自動預(yù)置SDLC/HDLC CRC等。

1.2 Z85C30主要引腳簡介

Z85C30引腳按功能分為7組:數(shù)據(jù)地址總線、總線時(shí)序和復(fù)位、控制引腳、中斷控制、串行數(shù)據(jù)、通道控制引腳和時(shí)鐘引腳,如圖1所示。

基于Z85C30串行通信控制器實(shí)現(xiàn)串行通信系統(tǒng)的應(yīng)用設(shè)計(jì)

Z85C30引腳定義如圖2所示。

pIYBAGCKDzeAGviBAADBKU9QzfQ531.png

D7~D0:數(shù)據(jù)地址總線,用于傳送命令和數(shù)據(jù)。

RD、WR:讀、寫信號,用于對Z85C30的寄存器操作,低電平有效。

CE:片選信號。

A/B:A、B通道選擇,低電平表示選擇B通道,高電平選擇A通道。

D/C:數(shù)據(jù)/控制選擇,高電平表示與85C30之間傳輸?shù)氖菙?shù)據(jù),低電平表示與85C30間傳輸?shù)氖敲钚盘枴?/p>

INT:中斷請求,低電平有效,當(dāng)SCC需要申請中斷時(shí),該信號有效。

INTACK:中斷響應(yīng),低電平有效。

IEI:中斷允許輸入。輸入,高電平有效。當(dāng)有多個(gè)中斷源時(shí),IEI和IEO一起組成中斷順序鏈優(yōu)先級排隊(duì)電路。

IEO:中斷允許輸出。輸出,高電平有效。

PCLK:時(shí)鐘輸入,用來同步內(nèi)部信號,是標(biāo)準(zhǔn)的TTL電平信號。

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è)控制信號。CE、D/C、A/B和INTACK用于控制總線傳輸?shù)念愋???偩€上傳輸?shù)牡刂吩谟行Ш?,RD和WR才變低。CE、WR和CE、RD鎖存地址的時(shí)序是一致的。

(1)讀周期時(shí)序

在RD和CE有效時(shí),A/B和D/C上的地址被鎖存。在此周期內(nèi)CE必須保持低,并且INTACK必須保持高。Z85X30的總線驅(qū)動設(shè)備只有在RD和CE都有效地才使能。在讀操作用D/C為高時(shí),不會影響指針的狀態(tài)。當(dāng)D/C為低且在內(nèi)部操作完成后,指針復(fù)位到0。

(2)寫周期時(shí)序

在CE和WR有效時(shí),A/B、D/C和數(shù)據(jù)D7~D0同時(shí)被鎖存。在此周期內(nèi)CE必須保持低,并且INTACK必須保持高。在寫操作且D/C為高時(shí),不會影響指針的狀態(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信號都被忽略。

1.4 Z85X30寄存器訪問

訪問寄存器有兩個(gè)步驟,是使用寄存器指針來完成尋址的。為尋址一個(gè)指定的寄存器,先通過寫入WR0的指針位來指定寄存器。因?yàn)閆85X30只有唯一的寄存器設(shè)置存在,因此,可以從兩個(gè)通道中的任意一個(gè)將指針寫入。當(dāng)指針寫入后,再次的讀或?qū)懼芷冢ó?dāng)D/C為低時(shí))將存取剛才指定的寄存器。在讀和寫周期結(jié)束時(shí),指針被復(fù)位到0。

對RR8(接收數(shù)據(jù)緩沖FIFO)的讀及對WR8(傳送數(shù)據(jù)緩沖FIFO)的寫操作,可以按以上方法進(jìn)行,也可以在D/C為高時(shí)進(jìn)行存取。當(dāng)D /C為高時(shí),可以直接對相應(yīng)的數(shù)據(jù)寄存器進(jìn)行存取,并且指針的狀態(tài)為獨(dú)立的。這樣,允許在一個(gè)周期內(nèi)尋址數(shù)據(jù)寄存器,并且不影響指針的狀態(tài)。

2 Z85C30與CPU的接口

以下介紹以8051作CPU與Z85C30的接口電路,如圖3所示。

pIYBAGCKDy6AGLCUAAIFLMsKbrI815.png

Z85C30的時(shí)鐘選用7.0728MHz。54LS373用來鎖存片選信號和Z85C30的地址(用來區(qū)分命令、數(shù)據(jù)寄存器)。因?yàn)?Z85C30的寫時(shí)序在數(shù)據(jù)有效后,才應(yīng)出現(xiàn)WR的下降沿;在數(shù)據(jù)無效之前,應(yīng)出現(xiàn)WR上升沿。用1片D觸發(fā)器54LS74和2個(gè)反相器件來延遲送到 Z85C30的WR。由于電路設(shè)計(jì)為TTL電路,在實(shí)際的應(yīng)用,還需加入TTL-RS232轉(zhuǎn)換電路芯片。

3 軟件設(shè)計(jì)

3.1 Z85Z30的I/O操作

X85C30有三種基本的I/O操作形式:查詢、中斷、塊操作。這三種I/O操作在初始化和數(shù)據(jù)傳送時(shí)涉及到寄存器操作。

查詢方式依靠軟件查詢串行控制器,從而決定什么時(shí)候數(shù)據(jù)應(yīng)從串行控制器輸入或輸出。在此模式中,主中斷使能位和WAIT/DMA請求位都應(yīng)編程為0,從而清除任何中斷或DMA請求。查詢是通過對RR0的狀態(tài)檢測進(jìn)行的。在此模式中,中斷功能失效。在轉(zhuǎn)入數(shù)據(jù)處理前,必須對RR0讀分析,以決定進(jìn)入怎樣的例程。

中斷方式中,串行控制器的每一個(gè)通道包括三個(gè)中斷源:接收器中斷、發(fā)送器中斷和外部/狀態(tài)中斷。

塊操作方式可將W/REQ輸出與WR1中的就緒/請求位配合。通過編程,W/REQ輸出在塊操作方式中能被定義為WAIT信號,在DMA方式中可作為REQ信號。

3.2 軟件的編寫

不同的應(yīng)用場合,對Z85C30的初始化流程不同,這就需要對Z85C30的寫寄存器賦予相應(yīng)的初值。

在SCC初始化完成后,即可進(jìn)行通信。傳送緩沖區(qū)和接收緩沖區(qū)全部為空。軟件把第1個(gè)傳送字符寫到傳送緩沖器,中斷才會產(chǎn)生。第1個(gè)傳送字符到了SCC的移位寄存器,傳送中斷產(chǎn)生。然后,SCC繼續(xù)判斷中斷,直到報(bào)文結(jié)束。報(bào)文結(jié)束時(shí),應(yīng)執(zhí)行復(fù)位發(fā)送中斷賦值命令,用來禁止發(fā)送請求中斷。SCC檢測到最后一個(gè)字符,中斷將停止,直到另外的報(bào)文寫到傳送緩沖器。

寄存器RR2用來說明中斷矢量和狀態(tài),它從B信道讀取。RR3是中斷賦值寄存器,用來指示中斷的類型,它從A信道讀取??淳W(wǎng)絡(luò)補(bǔ)充版(www.dpj.com.cn)中列出了Z85C30的中斷流程。

外部/狀態(tài)中斷源包括:斷點(diǎn)/異常中斷、發(fā)送欠載/報(bào)文結(jié)束中斷、CTS中斷、同步/搜索中斷、DCD中斷、零計(jì)數(shù)中斷。它由WR1和WR15 設(shè)置,只有WR1中外部/狀態(tài)中斷允許位置和WR15中的相應(yīng)控制位置位后,外部/狀態(tài)條件才會產(chǎn)生中斷。

結(jié)語

采用該設(shè)計(jì)方案,能夠滿足不同通信格式的要求,軟件編程可根據(jù)實(shí)際情況選用查詢方式、中斷方式、DMA傳送方式,如需要可以加MODEM控制方式。由于Z85C30功能強(qiáng)大,在許多嵌入式系統(tǒng)、網(wǎng)絡(luò)設(shè)計(jì)方面,選用Z85C30作為通信控制器進(jìn)行開發(fā),完全能夠?qū)崿F(xiàn)其預(yù)期的功能。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16361

    瀏覽量

    178071
  • 嵌入式
    +關(guān)注

    關(guān)注

    5082

    文章

    19126

    瀏覽量

    305244
  • 通信系統(tǒng)
    +關(guān)注

    關(guān)注

    6

    文章

    1190

    瀏覽量

    53350
收藏 人收藏

    評論

    相關(guān)推薦

    《微機(jī)原理與匯編語言》89C51串行口及串行通信技術(shù)

    `《微機(jī)原理與匯編語言》89C51串行口及串行通信技術(shù)[hide][/hide]`
    發(fā)表于 04-05 12:51

    一種基于C語言的RS232串行接口通信設(shè)計(jì)介紹

    長等優(yōu)點(diǎn),本文將著熏介紹串口通信的連接方式以及利用C語言編程實(shí)現(xiàn)串口通訊,最后以實(shí)際的工程項(xiàng)目應(yīng)用,驗(yàn)證了該通訊方式的可靠性?! ? RS232串行接口  1.1 RS232接口簡介 
    發(fā)表于 06-17 05:00

    怎么實(shí)現(xiàn)基于Z85C30的動目標(biāo)識別系統(tǒng)串行通信設(shè)計(jì)?

    怎么實(shí)現(xiàn)基于Z85C30的動目標(biāo)識別系統(tǒng)串行通信設(shè)計(jì)?
    發(fā)表于 05-31 06:32

    MSP430串行通信的相關(guān)資料推薦

    1、MSP430串行通信概述串口是系統(tǒng)與外界聯(lián)系的重要手段,在嵌入式系統(tǒng)開發(fā)和應(yīng)用中,經(jīng)常需要使用上位機(jī)實(shí)現(xiàn)
    發(fā)表于 02-15 06:52

    基于Z85C30的多協(xié)議串行通信設(shè)計(jì)

    簡要從硬件和軟件兩方面介紹一種嵌入式系統(tǒng)的多協(xié)議串行通信設(shè)計(jì)方案。該設(shè)計(jì)方案采用多協(xié)議串行通信控制器
    發(fā)表于 04-16 08:56 ?22次下載

    基于Z85C30的DSRC高速數(shù)據(jù)通信在智能

    Z85C30是ZILOG公司推出的多規(guī)程串行通信控制器.文中介紹了Z85C30芯片的物理特性、工作方式和時(shí)鐘選擇,給出了它在基于微波
    發(fā)表于 04-25 15:35 ?40次下載

    一種簡單的通用串行通信控制器

    給出一種以AT89C2051單片機(jī)為核心組成的串行通信控制器電路的設(shè)計(jì)與實(shí)現(xiàn);介紹該控制器的硬件
    發(fā)表于 05-15 13:13 ?18次下載

    基于VXI總線C012串行通信模塊設(shè)計(jì)

    C012 是一種較為特殊的串行通信協(xié)議。為解決某ATE 系統(tǒng)中對具有C012 串行
    發(fā)表于 07-08 15:14 ?12次下載

    串行通信實(shí)驗(yàn)

    串行通信實(shí)驗(yàn) 實(shí)驗(yàn)?zāi)康模? 1、掌握TMS320LF2407串行通信模塊的工作原理 2、掌握TMS320LF2407串行
    發(fā)表于 10-17 22:34 ?2574次閱讀

    RS232C/RS422/RS485串行通信標(biāo)準(zhǔn)

    RS232C、RS422/RS485串行通信標(biāo)準(zhǔn) 一、RS232C串行接口標(biāo)準(zhǔn)簡介 RS232C
    發(fā)表于 10-17 08:35 ?1.2w次閱讀
    RS232<b class='flag-5'>C</b>/RS422/RS485<b class='flag-5'>串行</b><b class='flag-5'>通信</b>標(biāo)準(zhǔn)

    基于DMA控制器的UART串行通信設(shè)計(jì)

    針對大數(shù)據(jù)量的串口間通信,在常規(guī)的UART串行數(shù)據(jù)通信的基礎(chǔ)上,結(jié)合Cortex-M3微控制器中DMA控制器的作用,實(shí)現(xiàn)DMA
    發(fā)表于 04-20 10:54 ?46次下載
    基于DMA<b class='flag-5'>控制器</b>的UART<b class='flag-5'>串行</b><b class='flag-5'>通信</b>設(shè)計(jì)

    《微機(jī)原理與匯編語言》89C51串行口及串行通信技術(shù)

    《微機(jī)原理與匯編語言》89C51串行口及串行通信技術(shù)
    發(fā)表于 12-14 15:07 ?0次下載

    基于DSP和RS_485串行通信控制系統(tǒng)設(shè)計(jì)_焦佳偉

    基于DSP和RS_485串行通信控制系統(tǒng)設(shè)計(jì)_焦佳偉
    發(fā)表于 02-07 15:05 ?1次下載

    MSP430F149--485串行通信

    MSP430F149--485串行通信
    發(fā)表于 05-02 17:50 ?34次下載
    MSP430F149--485<b class='flag-5'>串行</b><b class='flag-5'>通信</b>

    使用C30編譯實(shí)現(xiàn)單片機(jī)與片外串行SRAM的通信

    使用C30編譯實(shí)現(xiàn)單片機(jī)與片外串行SRAM的通信。
    發(fā)表于 04-02 15:01 ?12次下載
    使用<b class='flag-5'>C30</b>編譯<b class='flag-5'>器</b><b class='flag-5'>實(shí)現(xiàn)</b>單片機(jī)與片外<b class='flag-5'>串行</b>SRAM的<b class='flag-5'>通信</b>