版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 光纖通信中的線路編碼</p><p><b> 線路編碼概述</b></p><p> 數(shù)字通信系統(tǒng)對(duì)路碼的一般要求</p><p> 線路碼型有多種,在選擇線路碼時(shí)不僅要考慮光纖的傳輸特性,還要考慮光電器件的特性。一般來(lái)說(shuō),由于光電器件都有一定的非線性,因此采用脈沖的“有” “無(wú)”來(lái)表示“1”和“0”要方便的多。但
2、是簡(jiǎn)單的二進(jìn)制信號(hào)有三種實(shí)際問(wèn)題要解決,否則也不能達(dá)到良好的效果。第一,不能有長(zhǎng)連“0”或長(zhǎng)連“1”出現(xiàn)。因?yàn)殚L(zhǎng)連“0”,“1”會(huì)使定時(shí)信息消失,從而使再生中繼器和終端接收機(jī)的定時(shí)提取產(chǎn)生困難。第二,簡(jiǎn)單的二進(jìn)制碼中還有直流成分,而由于“0”,“1”碼出現(xiàn)個(gè)數(shù)的隨機(jī)變化,使得直流成分的大小隨機(jī)的發(fā)生變化。光接收機(jī)中采用的是交流耦合,直流成分的變化會(huì)引起信號(hào)基線浮動(dòng),這會(huì)給判決再生帶來(lái)困難。第三,簡(jiǎn)單的二進(jìn)制信號(hào)在業(yè)務(wù)狀態(tài)下不能接收監(jiān)測(cè)線
3、路誤碼率。為此,在光纖傳輸之前,需將簡(jiǎn)單的二進(jìn)制信號(hào)變換成適合光纖傳輸系統(tǒng)的光線路碼型。 </p><p> 光纖通信系統(tǒng)中所采用的線路碼種類很多。常用的有兩大類,一類是mBnB碼,即分組碼;另一類是插入比特碼。</p><p><b> mBnB碼</b></p><p> mBnB碼是一種提高信號(hào)傳輸速率的編碼方法。它將m個(gè)二進(jìn)制輸
4、入碼變換為n個(gè)二進(jìn)制的線路碼,使碼率提高n/m倍,輸入信號(hào)以m個(gè)碼字為一個(gè)字,而線路碼則以m個(gè)碼為一個(gè)字,mBnB碼有兩種類型:非均等mBnB碼(n>m),其碼組內(nèi)“0”和“1”碼的個(gè)數(shù)不一定相等;均等mBnB(n>=m+2)其碼組內(nèi)的“0”和“1”個(gè)數(shù)相等。</p><p> 由于這些碼型是按字長(zhǎng)進(jìn)行編譯碼的,所以不同字長(zhǎng)的碼型將有不同的特點(diǎn)。也就是說(shuō),這種線路碼型存在許多種形式,例如,1B2B碼
5、,2B3B碼,3B4B碼和5B6B碼等等。</p><p><b> 插入碼</b></p><p> 插入比特碼是把插入的原碼流以m比特為一組,在它的末位之后插入一個(gè)比特組成的線路碼。根據(jù)插入碼的用途可以分為以下三種[1]。</p><p> mB1P碼 末位之后插入P碼,P碼稱為奇偶校正碼,它把m位奇數(shù)原碼校正為偶數(shù)碼。當(dāng)m位碼內(nèi)
6、“1”的個(gè)數(shù)為奇數(shù)時(shí),插入P碼“1”,反之插入“0”,以保持m+1位碼內(nèi)“1”的個(gè)數(shù)為偶數(shù)。當(dāng)然也可以采取保持m+1位碼內(nèi)“1”的個(gè)數(shù)為奇數(shù)的方式。保持m+1位碼內(nèi)“1”的個(gè)數(shù)為偶數(shù)的典型例子如8B1P碼: </p><p> 。。。。。1 1 0 1 1 0 0 1 1(P) | 0 0 0 1 0 0 1 0 0(P) | 1 1 1 1 0 1 1 0 0(P) | 。。。。
7、。</p><p> mB1C碼 末位之后插入C碼,C碼稱為反極性碼或稱為補(bǔ)碼。即當(dāng)m位碼為“1”則補(bǔ)碼為“0”,反之則為“1”。例如8B1C碼:</p><p> 。。。。。1 1 0 1 1 0 0 1 0(C) | 0 0 0 1 0 0 1 0 1(C) | 1 1 1 1 0 1 1 0 1(C) | 。。。。。 </p><p>
8、; mB1H碼 末位之后插入H碼,H碼稱混合碼。H碼具有多種功能,它實(shí)際上是P碼,C碼和用以作監(jiān)控,公務(wù),區(qū)間通信的插入碼混合組成。其典型例子如8B1H碼:</p><p> 。。。。。1 1 0 1 1 0 0 1×(H ) | 0 0 0 1 0 0 1 0×(H) | 1 1 1 1 0 1 1 0×(H) | 。。。。。</p><p> 究竟
9、采用那種碼型,應(yīng)根據(jù)碼型的特點(diǎn),根據(jù)設(shè)計(jì)要求以及對(duì)所需設(shè)備結(jié)構(gòu)的復(fù)雜程度以及對(duì)接收機(jī)靈敏度的影響情況綜合考慮,本次設(shè)計(jì)選用的是3B4B碼。</p><p> 3B4B碼編譯碼原理</p><p> 3B4B碼是在本次畢業(yè)設(shè)計(jì)中需要重點(diǎn)了解和掌握的一種線路碼型,并且根據(jù)3B4B的編碼特點(diǎn)和編碼原理,設(shè)計(jì)出符合畢業(yè)設(shè)計(jì)中各項(xiàng)指標(biāo)要求的編譯碼器。 </p><p>
10、; 在3B4B的線路碼型中,輸入的原始碼流3B碼,共有8個(gè)碼字,變換為4B碼時(shí),共有16個(gè)碼字,見表2.1。為保證信息的完整傳輸,必須從4B碼的 16個(gè)碼字中挑選8個(gè)碼字來(lái)代替3B碼。設(shè)計(jì)者應(yīng)該根據(jù)最佳線路碼特性的原則來(lái)選擇碼表。例如:在3B碼中有2個(gè)“0”,變?yōu)?B碼時(shí)補(bǔ)1個(gè)“1”;在3B碼中有2個(gè)“1”,變?yōu)?B碼時(shí)補(bǔ)一個(gè)“0”。而000用0001和1110交替使用;111用0111和1000交替使用。同時(shí),規(guī)定一些禁止使用的碼
11、字,稱為禁字,例如0000和1111。</p><p> 表 2. 1 3B和4B的碼字</p><p> 作為普遍規(guī)則,引入“碼字?jǐn)?shù)字和”(WDS)來(lái)描述碼字的均勻性,并以WDS的最佳選擇來(lái)保證線路碼的傳輸特性。所謂“碼字?jǐn)?shù)字和”,是在nB碼的碼字中,用“-1”代表“0”碼,用“+1”代表“1”碼,整個(gè)碼字的代數(shù)和即為WDS。如果整個(gè)碼字“1”碼的數(shù)目多于“0”碼,則WDS為正;如
12、果“0”碼的數(shù)目多于“1”碼,則WDS為負(fù);如果“0”碼和“1”碼的數(shù)目相等,則WDS為0。例如:對(duì)于0111,WDS=+2;對(duì)于0001,WDS=-2;對(duì)于0011,WDS=0。 </p><p> nB碼的選擇原則是:盡可能選擇|WDS|最小的碼字,禁止使用|WDS|最大的碼字。在3B4B碼中,應(yīng)選擇WDS=0和WDS=+/-2的碼字,禁止使用WDS=+/-4的碼字。表2.2示出根據(jù)這個(gè)規(guī)則編制的
13、一種3B4B碼表,表中正組和負(fù)組交替使用。</p><p> 表 2. 2 一種3B4B碼表</p><p><b> 編譯碼器硬件設(shè)計(jì)</b></p><p> 本次設(shè)計(jì)的主要內(nèi)容是設(shè)計(jì)3B4B編/譯碼器,硬件主要由外圍集成電路和PIC單片機(jī)兩部分組成。外圍電路包括主振蕩器,電源電路,數(shù)字分頻電路以及串/并和并/串轉(zhuǎn)換電路;而單片機(jī)是
14、作為轉(zhuǎn)換運(yùn)算和電路控制的中心。內(nèi)部單片機(jī)設(shè)計(jì)則需要掌握其接口電路和程序的編寫,這章先介紹它的接口電路。</p><p><b> 總體設(shè)計(jì)</b></p><p> 現(xiàn)階段的編譯碼電路一般有兩種:一種是組合邏輯電路,就是把整個(gè)編譯碼器都集中在一塊芯片上,設(shè)計(jì)成一個(gè)大規(guī)模專用集成塊,國(guó)外設(shè)備大多采用這種方法;另一種是把設(shè)計(jì)好的碼表全部存貯到一塊只讀存儲(chǔ)器(PROM)
15、內(nèi),由單片機(jī)執(zhí)行程序而完成編譯碼。國(guó)內(nèi)設(shè)備一般采用這種方法。</p><p> 3B4B編碼器原理及框圖</p><p> 如圖4.1所示,圖中的串并變換和并串變換是移位寄存器。首先將設(shè)計(jì)好的碼表存入編碼邏輯(PROM)內(nèi),待變換的信號(hào)碼輸入串并變換器后,在信號(hào)碼時(shí)鐘Cp1的作用下,數(shù)字信號(hào)在串并變換內(nèi)移位,變?yōu)?比特一組的碼,b1,b2,b3,并行輸出作為編碼邏輯(PROM)的地址碼
16、,從而完成將原始碼流每3比特分成一組的分組過(guò)程。編碼邏輯(PROM)是集成元件構(gòu)成的邏輯網(wǎng),根據(jù)需要及功能,在本次畢業(yè)設(shè)計(jì)中,采用的是PIC系列的單片機(jī)。它的功能是跟據(jù)碼表里的邏輯關(guān)系把信號(hào)碼組變換成線路碼組。在地址碼的作用下,編碼邏輯(PROM)根據(jù)存儲(chǔ)的碼表輸出與地址對(duì)應(yīng)的并行4B碼,進(jìn)入并串變換器,在線路碼時(shí)鐘Cp2的作用下,移位而輸出已變換的4B碼流,完成編碼過(guò)程。 </p><p> 圖 4.1
17、3B4B碼編碼器框圖</p><p> 3B4B譯碼器原理及框圖</p><p> 如圖4.2所示,譯碼過(guò)程和編碼過(guò)程相反,譯碼器與編碼器基本相同。譯碼時(shí),把送來(lái)的已變換4B信號(hào)碼流,每4比特并聯(lián)為一組,作為譯碼邏輯(PROM)地址,然后讀出3B碼,再經(jīng)過(guò)并串變換還原為原來(lái)的信號(hào)碼流。</p><p> 圖 4.2 3B4B碼譯碼器框圖</p>
18、<p> 4.2 振蕩分頻電路</p><p> 4.2.1 主振蕩器</p><p> 本次畢業(yè)設(shè)計(jì)的主要目的是設(shè)計(jì)出能夠長(zhǎng)時(shí)間穩(wěn)定工作的編譯碼器,而主振蕩器的作用則是為串并輸入和并串輸出提供了最基本的時(shí)鐘。為了達(dá)到長(zhǎng)時(shí)間穩(wěn)定工作的目的,這個(gè)時(shí)鐘不但要求穩(wěn)定而且要求十分精確,否則會(huì)造成串并輸入與并串輸出之間的頻率不同步,這樣就會(huì)出現(xiàn)碼流的阻塞從而導(dǎo)致大量的誤碼。
19、 </p><p> 因此為了減少誤碼,提高系統(tǒng)長(zhǎng)時(shí)間工作的穩(wěn)定性,我們選用頻率穩(wěn)定度極高的石英晶體振蕩器作為本次畢業(yè)設(shè)計(jì)中的主振蕩器。按照本次畢業(yè)設(shè)計(jì)的要求的需要,以及分頻電路的特點(diǎn)和簡(jiǎn)易性,所選用的石英晶體振蕩器的頻率為1.920MHz。 </p><p> 具體設(shè)計(jì)電路圖如圖4.3所示:</p><p> 圖 4.3 主振蕩器電路圖</p>
20、<p> 此晶體振蕩電路由非門7404和晶體組成。電路中沒(méi)有使用電容。電阻R3,R4,R5,R6將兩個(gè)非門偏置在線性范圍內(nèi),并由晶體提供正反饋回路。其中,R1=220Ω,R2=560Ω,R3=220Ω,R4=1.8KΩ。</p><p> 4.2.2 分頻電路</p><p><b> 一 分頻思想</b></p><p>
21、 分頻電路是此次畢業(yè)設(shè)計(jì)中的外圍電路的一部分,也是很主要的部分。由石英晶體振蕩器所產(chǎn)生的時(shí)鐘脈沖經(jīng)分頻器分頻后,分別進(jìn)入串并變換電路和并串變換電路。由于是3B4B編譯碼器,而且設(shè)計(jì)指標(biāo)要求是:輸入碼速9.6Kb/s,輸出碼速12.8Kb/s,因此可以確定3B碼和4B碼兩個(gè)部分的頻率之比為3:4,且具體數(shù)值為:3B碼部分為9.6KHz,4B碼部分為12.8KHz。這兩個(gè)頻率都是由主振蕩器的時(shí)鐘1920KHz分頻而來(lái),且分頻系數(shù)分別為20
22、0和150。 </p><p> 考慮到系統(tǒng)的穩(wěn)定性和精確性,如果用數(shù)字電路一次性對(duì)原始脈沖進(jìn)行分頻系數(shù)為200和150的分頻,在如此大的分頻系數(shù)之下,對(duì)元件及電路的精度要求非常高,而且容易受環(huán)境變換的影響,并不利于此設(shè)計(jì)的長(zhǎng)期穩(wěn)定的運(yùn)行。因此采用二段式分頻電路的思想,即先對(duì)1920KHz的原始時(shí)鐘10分頻,然后再分別對(duì)已得的192KHz時(shí)鐘進(jìn)行20分頻和15分頻,從而也可以得到我們所需要的9.6KHz和
23、12.8KHz的頻率。這樣就可以減少誤差,并在保持結(jié)果相同的情況下,相對(duì)的降低元件和環(huán)境的要求。 </p><p> 二 分頻器件選型 </p><p> 根據(jù)設(shè)計(jì)的需要及要求,決定選用74161作為分頻器件。其引腳圖如圖4.4所示:</p><p> 圖 4.4 74161引腳圖</p><p> 74161是4位二
24、進(jìn)制同步加計(jì)數(shù)器,其各引腳具體功能見表4.1所示:</p><p> 表 4.1 74161各引腳功能</p><p> 表4.2是74161的功能表,由表可知74161具有以下功能:</p><p> 1. 異步清零 當(dāng)CLR=0時(shí),不管其他輸入端的狀態(tài)如何(包括時(shí)鐘CLK),計(jì)數(shù)器輸出將被直接置零,稱為異步清零。</p><p>
25、; 2. 同步并行預(yù)置數(shù) 在CLR=1的條件下,當(dāng)LOAD=0,且有時(shí)鐘脈沖CP的上升沿作用時(shí),A,B,C,D輸入端的數(shù)據(jù)將分別被QA,QB,QC,QD所接收。由于這個(gè)置數(shù)操作要與CP上升沿同步,且A,B,C,D的數(shù)據(jù)同時(shí)置入計(jì)數(shù)器,所以稱為同步并行預(yù)置。</p><p> 3. 保持 在CLR=CLK=1的條件下,當(dāng)ENP·ENT=0,即兩個(gè)計(jì)數(shù)使能端中有0時(shí),不管有無(wú)CP脈沖作用,計(jì)數(shù)器都將
26、保持原有狀態(tài)不變(停止計(jì)數(shù))。需要說(shuō)明的是,當(dāng)ENP=0,ENT=1,進(jìn)位輸出RCO也保持不變;而當(dāng)ENT=0時(shí),不管ENP狀態(tài)如何,進(jìn)位輸出RCO=0。</p><p> 4. 計(jì)數(shù) 當(dāng)CLR=CLK=ENT=ENP=1時(shí),74161處于計(jì)數(shù)狀態(tài)。</p><p> 表 4.2 74161功能表</p><p><b> 三 分頻電路設(shè)計(jì)&l
27、t;/b></p><p><b> 10分頻器設(shè)計(jì)</b></p><p> 在了解了74161的工作原理后,用74161來(lái)設(shè)計(jì)一個(gè)10分頻器是很容易的,74161實(shí)際上是個(gè)一個(gè)集成計(jì)數(shù)器,我們正是利用其計(jì)數(shù)功能來(lái)進(jìn)行分頻。即對(duì)輸入脈沖計(jì)數(shù)10次后,再由74161將脈沖輸出,此時(shí)由74161輸出的脈沖頻率即為原來(lái)的十分之一,從而達(dá)到了我們希望對(duì)輸入脈沖進(jìn)行
28、10分頻的目的。將原晶體振蕩電路產(chǎn)生的原始脈沖進(jìn)行10分頻后,就可以得到第一段的時(shí)鐘脈沖,其頻率為我們所需要的192KHz。具體電路圖如圖4.5所示。</p><p> 圖 4.5 10分頻電路</p><p> 在分頻電路中我們采用的是反饋置數(shù)法,ABCD四個(gè)預(yù)置端均接低電平,從而使得A=B=C=D=0,此時(shí)的預(yù)置數(shù)為 0000。當(dāng)計(jì)數(shù)器計(jì)滿10個(gè)脈沖后,計(jì)數(shù)器的并行輸出端的數(shù)值為
29、 1001,從而使QA=QD=1,此時(shí)與門打開,經(jīng)過(guò)非門后低電平觸發(fā)預(yù)置數(shù)控制端LOAD,在預(yù)置數(shù)控制端觸發(fā)后,就會(huì)將預(yù)置數(shù)重新置入使計(jì)數(shù)器,使計(jì)數(shù)器由0000重新開始計(jì)數(shù),也就是計(jì)數(shù)器在經(jīng)過(guò)10個(gè)狀態(tài)后重新裝載初始狀態(tài),從而達(dá)到10分頻的目的。圖4.6是74161的主循環(huán)狀態(tài)圖。</p><p> 4.6 10分頻主循環(huán)狀態(tài)圖</p><p> 2. 15分頻器設(shè)計(jì)</p&g
30、t;<p> 由于74161是擁有四個(gè)并行數(shù)據(jù)輸入端和四個(gè)數(shù)據(jù)輸出端,是一個(gè)四位的二進(jìn)制計(jì)數(shù)器,按照上述的分頻思想,單塊的74161可以進(jìn)行0~16間的任意分頻,因此除了上述的10分頻器外,15分頻器也可由一塊74161來(lái)完成。只是將并行輸出端進(jìn)行重新選擇,以適合我們所需的15分頻。根據(jù)輸出端的數(shù)量不同,二輸入與門也相應(yīng)的換成三輸入與門。經(jīng)過(guò)第二段的分頻電路,我們將第一段得到的192KHz的頻率再次分頻,從而得到4B碼流
31、轉(zhuǎn)換所需要的脈沖頻率,即12.8KHz。其具體電路如圖4.7所示。</p><p> 圖 4.7 15分頻電路</p><p> 此15分頻器的設(shè)計(jì)仍然采用的是反饋置數(shù)法來(lái)使74161完成15分頻的工作。ABCD四個(gè)置數(shù)端仍然接低電平,即置數(shù)值為0000,由于要求15分頻,因此QAQBQCQD的輸出端應(yīng)為1110才能出現(xiàn)15個(gè)狀態(tài)。一旦輸出端達(dá)到狀態(tài)1110,經(jīng)過(guò)三輸入與門7411產(chǎn)
32、生高電平經(jīng)非門7404后,低電平觸發(fā)預(yù)置數(shù)控制端LOAD,74161重新裝載初狀態(tài)0000,開始新的一輪計(jì)數(shù),而15分頻后的脈沖則由與門輸出,從而達(dá)到了15分頻的目的。圖4.8為74161的主循環(huán)圖。 </p><p> 圖 4.8 15分頻主循環(huán)狀態(tài)圖</p><p><b> 20分頻器設(shè)計(jì)</b></p><p> 由于74161
33、只是一個(gè)4位的二進(jìn)制計(jì)數(shù)器,因此其計(jì)數(shù)的最大值為1111,也即是最多記錄16個(gè)狀態(tài)即0000~1111,如果計(jì)數(shù)值的范圍超過(guò)了16,就需要多塊74161串連計(jì)數(shù)來(lái)滿足要求。為了得到3B碼流轉(zhuǎn)換時(shí)需要的9.6KHz的頻率,我們必須將第一段分頻后得到的192KHz再次20分頻。這就超過(guò)了單塊74161的計(jì)數(shù)范圍,因此我們選用2塊74161串連來(lái)構(gòu)成一個(gè)20分頻的計(jì)數(shù)式分頻器。其具體電路圖如圖4.97所示。</p><p&
34、gt; 圖 4.9 20分頻電路</p><p> 鑒于74161的最大計(jì)數(shù)值為16,因此采用兩塊74161串連,并且采用的是并行進(jìn)位的方式,即兩塊74161用的是同一個(gè)CP脈沖,但由低位塊的輸出端來(lái)控制高位塊的計(jì)數(shù)使能端的方式。也就是說(shuō)兩塊74161同時(shí)接收CP脈沖,但由于高位塊的74161的計(jì)數(shù)使能端ENP和ENT由低位塊的輸出端所決定,因此高位塊只能在地位塊的控制下計(jì)數(shù)。</p><
35、;p> 采用這種方法,可將低位塊作為個(gè)位計(jì)數(shù)器,而將高位塊作為十位計(jì)數(shù)器。將個(gè)位計(jì)數(shù)器設(shè)定為十進(jìn)制的計(jì)數(shù)器,其數(shù)值表現(xiàn)為0000~1001,當(dāng)個(gè)位計(jì)數(shù)器計(jì)滿10個(gè)脈沖的時(shí)候,其輸出端的數(shù)值表現(xiàn)為1001,即QA=QD=1,經(jīng)與門后高電平使十位計(jì)數(shù)器計(jì)數(shù)使能端打開,十位計(jì)數(shù)器可以計(jì)入一個(gè)脈沖。同時(shí)經(jīng)非門后低電平觸發(fā)個(gè)位計(jì)數(shù)器的預(yù)置數(shù)控制端,將0000重新載入個(gè)位計(jì)數(shù)器,使其重新開始計(jì)數(shù)。再次計(jì)入10個(gè)脈沖后,十位計(jì)數(shù)器才可以再計(jì)入
36、一個(gè)脈沖,此時(shí)十位計(jì)數(shù)器的輸出端的數(shù)值表現(xiàn)為0010,即QB=1,經(jīng)非門后同時(shí)進(jìn)入兩塊74161的清零端,低電平觸發(fā)使兩塊74161同時(shí)清零,至此完成了一次20個(gè)脈沖的計(jì)數(shù)。此后循環(huán)進(jìn)行。在計(jì)數(shù)過(guò)程中,同時(shí)采用了反饋置數(shù)法和反饋清零法,來(lái)使74161復(fù)位。低位塊計(jì)數(shù)滿10后,采用的是反饋置位法使其清零;高位塊計(jì)數(shù)滿2后(即整個(gè)計(jì)數(shù)滿20),采用的反饋清零法同時(shí)使兩塊74161清零。</p><p> 相應(yīng)于計(jì)數(shù)
37、20次后,從十位計(jì)數(shù)器的QB端輸出的脈沖就是經(jīng)過(guò)了20分頻的脈沖,從而得到了我們所需要的9.6KHz的頻率。</p><p><b> 4.3 電源電路</b></p><p> 電源電路的作用是將220V的交流電,變?yōu)榭梢怨㏄IC單片機(jī)及其外圍電路中各元器件所需要的+5V電源。電源電路主要由變壓器,整流橋,穩(wěn)壓器和濾波電路組成,各部分的具體作用為:</p&
38、gt;<p> 變壓器:將220V的工頻交流電轉(zhuǎn)變?yōu)?.3V的低電壓;</p><p> 整流橋:將低頻交流電通過(guò)橋式整流電路轉(zhuǎn)變?yōu)橹绷麟姡?lt;/p><p> 穩(wěn)壓器:通過(guò)采用7805,輸出穩(wěn)定的+5V直流電;</p><p> 濾波器:簡(jiǎn)單的帶通濾波電路,進(jìn)一步穩(wěn)定電壓。</p><p> 電源電路為整個(gè)系統(tǒng)提供了電
39、力,使系統(tǒng)可以長(zhǎng)時(shí)間穩(wěn)定運(yùn)行,其具體電路如圖4.10所示:</p><p> 圖 4.10 電源電路</p><p><b> 4.4 編碼器設(shè)計(jì)</b></p><p> 4.4.1 編碼器碼流輸入</p><p><b> 一 碼流輸入過(guò)程</b></p><p&
40、gt; 在本設(shè)計(jì)中,編碼器的輸入碼流是3B碼,碼速要求是9.6KHz,因此我們必須針對(duì)3B碼的特點(diǎn)和設(shè)計(jì)指標(biāo)的要求設(shè)計(jì)出相應(yīng)的編碼器輸入部分的電路。</p><p> 所謂輸入部分電路,實(shí)際上就是一個(gè)串并轉(zhuǎn)換電路,碼流的輸入過(guò)程也就是一個(gè)串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)的過(guò)程。而PIC單片機(jī)所處理的則是3位的并行數(shù)據(jù),因此必須設(shè)計(jì)出一個(gè)能夠長(zhǎng)時(shí)間穩(wěn)定工作的串并變換電路。</p><p> 二
41、 串并變換電路器件選型</p><p> 根據(jù)設(shè)計(jì)的需要,決定選用74194作為串并變換電路的核心器件。其引腳圖如圖4.11所示:</p><p> 圖 4.11 74194引腳圖</p><p> 74194是高速通用4位雙向移位寄存器。作為一種多功能高速時(shí)序建立裝置,它可用于串行至串行,左移位,右移位,串行至并行,并行至串行,并行至并行等形式的數(shù)據(jù)寄存和
42、轉(zhuǎn)換。這里我們用其進(jìn)行串行至并行的變換。其各引腳具體功能見表4.3所示</p><p> 表 4.3 74194各引腳功能</p><p> 74194有兩個(gè)工作方式控制端S0,S1,由它們不同的狀態(tài)組合可以完成4種控制功能:其中清零是指在異步清零端CLR上施加低電平,不論脈沖狀態(tài)如何,清零后輸出端QA,QB,QC,QD將全部被清零;保持是指當(dāng)異步清零端CLR接高電平后,寄存器處于原
43、來(lái)的狀態(tài);左移和右移兩項(xiàng)是指串行輸入,其不同在于串行數(shù)據(jù)分別從左移輸入端SL和右移輸入端SR送入寄存器;置數(shù)實(shí)際上就是指并行數(shù)據(jù)的輸入,即將輸入端ABCD所接收的并行數(shù)據(jù)分別送往輸出端QAQBQCQD。具體組合方式見表4.4所示:</p><p> 表4.4 74194簡(jiǎn)化功能表</p><p> 三 串并變換電路設(shè)計(jì)</p><p><b>
44、電路設(shè)計(jì)</b></p><p> 在此次的電路設(shè)計(jì)中,采用一片74194,3個(gè)二輸入與門和一個(gè)反相器就可以構(gòu)成一個(gè)3位的串行碼/并行碼變換電路。其中二輸入與門在具體電路設(shè)計(jì)種采用的是四2輸入與門,器件型號(hào)為7408,使用時(shí)取其中三對(duì)端口即可;而反相器在具體電路設(shè)計(jì)中則采用的是六反相器,器件型號(hào)為7404,使用時(shí)取其中的一對(duì)端口即可。 </p><p> 需要變換的原始串入
45、數(shù)據(jù)來(lái)自于B3端口,而給74194提供工作時(shí)鐘的則是在上一節(jié)設(shè)計(jì)中所產(chǎn)生的9.6KHz的脈沖。電路如圖4.12所示 </p><p> 圖 4.12 3B碼串并轉(zhuǎn)換電路</p><p><b&g
46、t; 工作過(guò)程</b></p><p> 開始轉(zhuǎn)換前,先通過(guò)清零脈沖將74194清零,此時(shí)由于QD=0,經(jīng)反相器后使得S1=0,而S0一直接高電平,即S1S0=11,因此下一個(gè)CP脈沖來(lái)到時(shí),74194將進(jìn)行置數(shù)操作。脈沖到來(lái)時(shí),根據(jù)預(yù)置數(shù)的內(nèi)容,將011置入QB QC QD中,而將串行輸入的第一個(gè)數(shù)據(jù)D0置入QA中。此時(shí)QD=1,從而故使得S1S0=01,74194工作于右移工作狀態(tài)。接下來(lái)的2
47、個(gè)CP脈沖將串行輸入的第2,3個(gè)數(shù)據(jù)D1,D2移入74194,由于采用的右移工作方式,此時(shí)的QA QB QC依次為D2 D1 D0,而置入QB的0則移到QD,使得S1S0=11,同時(shí)打開與門將QA QB QC中的數(shù)據(jù)并行輸出。另一方面,下一個(gè)CP脈沖到來(lái),又將發(fā)生前面所述的并行置數(shù)操作,開始新的一輪串/并變換。詳細(xì)工作過(guò)程見表4.5所示。</p><p> 表4.5 3位串行碼/并行碼變換電路工作過(guò)程<
48、;/p><p> 4.4.2 編碼器碼流輸出</p><p><b> 一 碼流輸出過(guò)程</b></p><p> 在本設(shè)計(jì)中,除了設(shè)計(jì)能使串行碼流變換為并行碼流的串并變換電路外,還必須設(shè)計(jì)出碼流輸出部分的電路,也就是能夠?qū)IC單片機(jī)所輸出的4位并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)的并串變換電路,</p><p> 由串并變換
49、電路輸入PIC單片機(jī)的3B碼并行數(shù)據(jù),經(jīng)單片機(jī)處理后得到相應(yīng)的4B碼,并以并行方式輸出,并串變換電路的作用就是將此4位并行碼流轉(zhuǎn)變?yōu)榇写a流,使其能夠由B3端口接收,從而完成譯碼的過(guò)程。并串變換電路還必須符合設(shè)計(jì)要求中的12.8KHz的頻率,這樣才能保證碼流輸入與輸出之間的同步,降低誤碼率。</p><p> 二 并串變換電路器件選型</p><p> 在此次電路設(shè)計(jì)中,采用一片74
50、194,一個(gè)上升沿觸發(fā)的D觸發(fā)器,一個(gè)三輸入與門及一個(gè)二輸入與門,就可以構(gòu)成一個(gè)符合設(shè)計(jì)要求的并串轉(zhuǎn)換電路。其中二輸入與門在具體電路設(shè)計(jì)時(shí)仍采用的是四2輸入與門,器件型號(hào)為7408,在使用時(shí)只需取其一對(duì)端口即可;三輸入與門則采用的是三3輸入與門,器件型號(hào)為7411,使用時(shí)也僅需其中一對(duì)端口;D觸發(fā)器則采用有預(yù)置,清零端的雙上升沿D觸發(fā)器,器件型號(hào)為7474,具體使用時(shí)采用其中一組作為D觸發(fā)器。</p><p>
51、 三 并串變換電路設(shè)計(jì)</p><p><b> 電路設(shè)計(jì)</b></p><p> 由于高速通用4位雙向移位寄存器74194既可以用于串并變換,也可以用于并串變換,因此在此部分的電路設(shè)計(jì)中仍然選用74194作為4位并串變換電路的核心器件。但由于74194只有4位,在進(jìn)行4位碼的變換時(shí),4個(gè)輸入引腳全部用來(lái)接收并行數(shù)據(jù),故不能像3位碼的變換一樣,將其中一個(gè)引腳設(shè)
52、置一個(gè)循環(huán)標(biāo)志位(如上一節(jié)中的QD),為了使74194能夠循環(huán)長(zhǎng)時(shí)間工作,還必須用一個(gè)D觸發(fā)器來(lái)作為循環(huán)標(biāo)志位。74194的ABCD用于并行數(shù)據(jù)輸入,而這個(gè)D觸發(fā)器的輸出端將被連接到74194的右移輸入端SR上,通過(guò)串入不同碼字來(lái)控制S1S0的狀態(tài),從而達(dá)到在置數(shù),右移不同狀態(tài)間切換的目的,使其能長(zhǎng)時(shí)間循環(huán)工作。電路如圖4.13所示 </p><p> 圖 4.13 4B碼并串轉(zhuǎn)換電路</p>
53、<p><b> 工作過(guò)程</b></p><p> 此4B碼的并串轉(zhuǎn)換電路的過(guò)程較3B碼的串并變換電路復(fù)雜,其工作過(guò)程可分為兩個(gè)階段,即清零預(yù)置階段和并串轉(zhuǎn)換階段。特別需要注意的是工作過(guò)程中的各元件的次序,簡(jiǎn)述如下(記觸發(fā)器為D,三輸入與門的輸出端為X,二輸入與門的輸出端為Y)。</p><p> 根據(jù)電路結(jié)構(gòu)易知:X=QA·QB·
54、;Q’ ,Y=X·CP,即在清零過(guò)程結(jié)束后有Y=QA·QB·Q’;Y端直接與D端和S1相接,故有D=S1=Y且由于S0一直保持高電平即S1=1,所以74194的工作方式由Y端來(lái)控制;右移串行輸入端SR則與Q’端相接,故有SR=Q’。</p><p> 根據(jù)D觸發(fā)器的特性方程Q(n+1)=D知:現(xiàn)態(tài)的D端狀態(tài)決定了次態(tài)的Q和Q’端的狀態(tài),而根據(jù)電路結(jié)構(gòu)有D=Y,故現(xiàn)態(tài)的Y端決定了次態(tài)
55、的Q’,即Q(n+1)=Y(除了清零脈沖時(shí),Q’被直接置1)。</p><p> 綜上所述,此設(shè)計(jì)中最重要的兩個(gè)控制端口Q’和Y實(shí)際是互為因果的關(guān)系,他們之間相互影響相互作用,使整個(gè)系統(tǒng)循環(huán)運(yùn)行。 </p><p> 階段一:清零預(yù)置 在這個(gè)階段中,首先清零脈沖來(lái)到,使74194和觸發(fā)器D同時(shí)清零。此時(shí)QA=QB=QC=QD=0,由QAQB=0故Y=0,使得S1S0=01,7419
56、4工作于右移串入狀態(tài);而由于D也同時(shí)被清零使得Q=0,Q’=1,故SR=1,在下一CP脈沖來(lái)到時(shí)SR被置數(shù)使QA=1。因此,2個(gè)脈沖后SR連續(xù)兩次右移使QA=QB=1故有Y=1,使得S1S0=11,清零預(yù)置過(guò)程完成,74194進(jìn)入置數(shù)工作狀態(tài),下一個(gè)CP脈沖來(lái)到時(shí),就可以并行輸入D0 D1 D2 D3四位數(shù)據(jù)。</p><p> 階段二:并串轉(zhuǎn)換 在清零預(yù)置過(guò)程結(jié)束以后S1S0=11使得74194進(jìn)入置數(shù)工作
57、狀態(tài)。當(dāng)這個(gè)階段的第一個(gè)CP脈沖來(lái)到時(shí),D3 D2 D1 D0同步置入QA QB QC QD,由于將QD作為輸出端,故此時(shí)輸出第一個(gè)串行碼D3;由于上態(tài)的Y=1=D,故使現(xiàn)態(tài)的Q’=0,盡管D0 D1可能全為1,仍使現(xiàn)態(tài)的Y=0,由此決定了S1S0=01從而使74194工作于右移狀態(tài),并且SR=Q’=0;連續(xù)3個(gè)CP脈沖以后,QD依次串行輸出D2 D1 D0,達(dá)到了并串變換的目的,由于連續(xù)的右移,此時(shí)QAQBQC=110,使Y=1,故有
58、S1S0=11,這樣就使74194再一次進(jìn)入置數(shù)工作狀態(tài),在下一個(gè)CP脈沖來(lái)到時(shí)將再次進(jìn)行4位同步置數(shù),D0 D1 D2 D3被置入QA QB QC QD,開始新一輪的并串變換。詳細(xì)工作過(guò)程見表4.6所示。</p><p> 表 4.6 4位并行碼/串行碼變換電路工作過(guò)程</p><p><b> 4.5 譯碼器設(shè)計(jì)</b></p><p&g
59、t; 4.5.1 譯碼器碼流輸入</p><p><b> 一 碼流輸入過(guò)程</b></p><p> 本次畢業(yè)設(shè)計(jì)除了要求設(shè)計(jì)3B4B編碼器外,還要求設(shè)計(jì)一個(gè)譯碼器,所謂譯碼器就是要將已經(jīng)編碼的4B碼重新解碼為3B碼。這是一個(gè)編碼的逆過(guò)程,輸入的碼流是4B碼,碼速是12.8Kb/s,相應(yīng)的時(shí)鐘脈沖為12.8KHz;輸出的則是3B碼,碼速是9.6Kb/s,相應(yīng)
60、的時(shí)鐘脈沖為9.6KHz。</p><p> 4B碼的輸入過(guò)程與3B碼的輸入相仿,仍是一個(gè)串并變換的過(guò)程,只不過(guò)是要將串行碼流變換成4位的并行輸出碼流。因此其輸入電路仍是采用一個(gè)串并變換電路來(lái)完成。</p><p> 二 串并變換電路器件選型</p><p> 在此次電路設(shè)計(jì)中,采用一片74194,一個(gè)上升沿觸發(fā)的D觸發(fā)器,四個(gè)二輸入與門及一個(gè)反相器,就可以
61、構(gòu)成一個(gè)符合設(shè)計(jì)要求的串并轉(zhuǎn)換電路。其中二輸入與門在具體電路設(shè)計(jì)時(shí)仍采用的是四2輸入與門,器件型號(hào)為7408,在使用時(shí)正好將其4對(duì)端口全部用上;反相器則仍是采用六反相器,器件型號(hào)7404,具體使用時(shí)取其中一個(gè)端口即可;D觸發(fā)器則還是采用有預(yù)置,清零端的雙上升沿D觸發(fā)器,器件型號(hào)為7474,具體使用時(shí)采用其中一組作為D觸發(fā)器。</p><p> 三 串并變換電路設(shè)計(jì)</p><p>&l
62、t;b> 電路設(shè)計(jì)</b></p><p> 盡管是完成4位的串并轉(zhuǎn)換,一片74194仍然足夠完成此轉(zhuǎn)換過(guò)程。由于需要并行輸出4位的數(shù)據(jù),如果74194的并行輸出端全部用來(lái)輸出數(shù)據(jù),就會(huì)缺少S1S0的狀態(tài)轉(zhuǎn)換控制端,使之不能在置數(shù)和右移兩種狀態(tài)之間切換,也就無(wú)法達(dá)到長(zhǎng)時(shí)間循環(huán)運(yùn)行的要求。因此,我們還必須選用一塊D觸發(fā)器,使其能夠作為并行輸出端之一,而將QD留作工作狀態(tài)控制位,從而達(dá)到循環(huán)控制
63、的目的。電路如圖4.14所示: </p><p> 圖 4.14 4B碼串并轉(zhuǎn)換電路 </p><p><b> 2. 工作過(guò)程</b></p><p> 此電路設(shè)計(jì)再次用到了D觸發(fā)器,因此各端口之間的因果關(guān)系變得十分重要,簡(jiǎn)述如下:</p>&l
64、t;p> 根據(jù)電路結(jié)構(gòu):QD經(jīng)反相器輸出后直接與S1相接,即S1=QD|反|,而S0一直接高電平,故74194的工作方式由QD控制;同時(shí)QD經(jīng)反相器后還直接與4個(gè)與門相接,并行數(shù)據(jù)的同步輸出也有QD控制。SR與D觸發(fā)器的輸出端Q直接相連,即SR=Q,故74194右移串入的數(shù)據(jù)來(lái)自Q。</p><p> 根據(jù)D觸發(fā)器的特點(diǎn):Q端置入的是D端在上一個(gè)CP脈沖過(guò)去后所儲(chǔ)存的數(shù)據(jù),如:清零脈沖過(guò)去后,D端即接收
65、到串入數(shù)據(jù)D=D0,但此時(shí)觸發(fā)器并沒(méi)有觸發(fā),故Q端輸出仍然為0;當(dāng)下一個(gè)CP脈沖來(lái)到時(shí),Q端載入D端所儲(chǔ)存的數(shù)據(jù)D0,而D端則讀入新的數(shù)據(jù)D1。</p><p> 電路具體工作時(shí),首先清零脈沖來(lái)到,使74194與D觸發(fā)器同時(shí)清零,此時(shí)74194的輸出端QA=QB=QC=QC=0,觸發(fā)器的輸出端Q=0;四個(gè)與門均關(guān)閉,但QD經(jīng)反相器后輸入S1,使S1S0=11故74194進(jìn)入置數(shù)工作狀態(tài),下一個(gè)CP脈沖到來(lái)時(shí)即可
66、將0111置入QAQBQCQD,同時(shí)SR=Q=0。</p><p> 清零之后的第一個(gè)CP脈沖來(lái)到時(shí),即將輸入端0111置數(shù),使得QA=0,QB=QC=QD=1,而QD經(jīng)反相器后使S1S0=01故74194進(jìn)入右移工作狀態(tài)并且使4個(gè)與門繼續(xù)關(guān)閉;同時(shí),觸發(fā)器D的輸出端Q=D0,使得SR=D0。連續(xù)3個(gè)CP脈沖之后,觸發(fā)器的輸出Q=D3,使得SR=D3,SR在這個(gè)過(guò)程中連續(xù)的右移,使QA=D2,QB=D1,QC=
67、D0,這樣Q0Q1Q2Q3中的數(shù)據(jù)全部置位完畢。而QD=0,經(jīng)反相器后打開4個(gè)與門將4位并行數(shù)據(jù)同步輸出,達(dá)到串并轉(zhuǎn)換的目的;同時(shí)QD也使工作方式選擇端S1S0=11,這樣74194再次進(jìn)入置數(shù)工作狀態(tài),在下一個(gè)CP脈沖到來(lái)時(shí)將重新載入0111,開始新一輪的串并轉(zhuǎn)換。詳細(xì)工作過(guò)程見表4.7所示:</p><p> 表4.7 4位串行碼/并行碼變換電路工作過(guò)程</p><p> 4.5
68、.2 譯碼器碼流輸出</p><p><b> 一 碼流輸出過(guò)程</b></p><p> 譯碼器碼流的輸出過(guò)程與編碼器的輸出過(guò)程相仿,二者最終輸出的都是串行碼流,只不過(guò)編碼器輸出的碼速為12.8Kb/s,而譯碼器輸出的碼速則為9.6Kb/s。要完成譯碼器串行碼流的輸出,就必須設(shè)計(jì)合適的并串轉(zhuǎn)換電路將PIC單片機(jī)輸出的3位并行碼流轉(zhuǎn)換為串行碼流。因此碼流的輸出過(guò)
69、程就是并行碼/串行碼轉(zhuǎn)換的過(guò)程。</p><p> 二 并串變換電路器件選型</p><p> 在此次并串電路的設(shè)計(jì)中,由于只要完成3B碼的轉(zhuǎn)換,因此結(jié)構(gòu)比較簡(jiǎn)單,只需采用一片74194,一個(gè)二輸入與門即可構(gòu)成一個(gè)符合設(shè)計(jì)要求的并串轉(zhuǎn)換電路。其中二輸入與門在具體電路設(shè)計(jì)時(shí)仍采用的是四2輸入與門,器件型號(hào)為7408,在使用時(shí)只需取其一對(duì)端口即可。 </p><p&g
70、t; 三 并串變換電路設(shè)計(jì)</p><p><b> 電路設(shè)計(jì)</b></p><p> 利用74194對(duì)3位并行碼進(jìn)行轉(zhuǎn)換,只需用到四個(gè)并行輸入端口A B C D中的三個(gè),這里我們選用B C D三個(gè)端口來(lái)輸入并行數(shù)據(jù),而將A端口接低電平。將S0持續(xù)接高電平,利用SR的右移串行輸入和A端口的低電平置數(shù)來(lái)控制74194的S1,從而達(dá)到控制74194工作方式的目的
71、。這樣就可以在置數(shù)和右移兩種工作方式間切換,使系統(tǒng)長(zhǎng)時(shí)間循環(huán)工作,對(duì)碼流進(jìn)行持續(xù)轉(zhuǎn)換。電路如圖4.15所示</p><p> 圖 4.15 3B碼并串轉(zhuǎn)換電路</p><p><b> 工作過(guò)程</b></p><p> 此3B碼的并串轉(zhuǎn)換電路相較于4B碼的并串變換簡(jiǎn)單,所用到的元件比較少,而且各端口間的因果關(guān)系也比較少,僅有S1=Y=
72、QA?QB(記二輸入與門7408的輸出端為Y)。其工作過(guò)程仍可視作兩個(gè)階段,預(yù)置清零階段和并串變換階段。</p><p> 階段一: 預(yù)置清零 清零脈沖使74194的輸出端口QA=QB=QC=QD=0,根據(jù)電路結(jié)構(gòu)Y=QA?QB=0,使得S1S0=01,74194進(jìn)入右移串行輸入工作狀態(tài),且SR持續(xù)接高電平即SR=1,在下一個(gè)CP脈沖來(lái)到時(shí)將SR載入QA。連續(xù)2個(gè)CP脈沖之后,SR連續(xù)右移兩次,使QA=QB=
73、1,從而打開與門使得S1S0=11,74194進(jìn)入置數(shù)工作狀態(tài),預(yù)置清零過(guò)程結(jié)束。</p><p> 階段二: 并串變換 經(jīng)過(guò)預(yù)置清零階段后S1S0=11,74194工作于置數(shù)工作狀態(tài)。第一個(gè)CP脈沖來(lái)到后,D0 D1 D2被載入,使QB=D0 QC=D1 QD=D2,而A端口持續(xù)接低電平,故QA=0,此時(shí)QD作為串行數(shù)據(jù)輸出端口將輸出第一位串行碼D2。由于Y=QA?QB=0使S1S0=01,故74194進(jìn)入
74、右移工作狀態(tài)。2個(gè)CP脈沖之后,SR連續(xù)的右移使D1 D0依次從QD輸出,同時(shí)使QA=QB=1,從而打開與門使S1S0=01,74194再次進(jìn)入置數(shù)工作方式。在下一個(gè)CP脈沖來(lái)到時(shí),74194將重新載入新的一組3B碼,開始新的一輪并串變換。詳細(xì)工作過(guò)程見表 4.8所示。</p><p> 表 4.8 3位并行碼/串行碼變換電路工作過(guò)程</p><p><b> 編譯碼器軟件
75、設(shè)計(jì)</b></p><p> 根據(jù)設(shè)計(jì)要求,我們需要單片機(jī)對(duì)經(jīng)過(guò)串并變換的3B碼流進(jìn)行4B編碼。或?qū)?B碼流進(jìn)行3B編碼,可在單片機(jī)內(nèi)部建立一個(gè)3B碼于4B碼的對(duì)照碼表,經(jīng)過(guò)查表就可以得到相應(yīng)的編碼,完成轉(zhuǎn)換。本章將對(duì)此進(jìn)行具體介紹。</p><p><b> 編碼程序設(shè)計(jì)</b></p><p><b> 程序設(shè)
76、計(jì)思想</b></p><p> 在設(shè)計(jì)中,針對(duì)3B4B碼編碼器,我們需要利用PIC單片機(jī)對(duì)經(jīng)過(guò)串并變換的3位并行碼流進(jìn)行4B編碼。最簡(jiǎn)單的方法是在PIC單片機(jī)內(nèi)部建立一個(gè)3B碼轉(zhuǎn)換為4B碼的對(duì)照碼表,輸入的3B碼經(jīng)過(guò)查表后就可以得到相應(yīng)的4B碼,再將其輸出即可完成由3B碼到4B碼的轉(zhuǎn)換。而單片機(jī)內(nèi)部所用的碼表則可以通過(guò)利用形如表2.2加以完成,根據(jù)此碼表可以為任意一個(gè)3B碼找到其對(duì)應(yīng)的4B碼,沒(méi)有
77、重復(fù),而且正負(fù)碼組交替使用,進(jìn)一步減少了長(zhǎng)連“0”和長(zhǎng)連“1”的出現(xiàn),達(dá)到了提高碼速,減少誤碼的目的。</p><p> 在PIC單片機(jī)讀入3B碼流后,進(jìn)行查表的過(guò)程中之前,我們必須對(duì)此3B碼作出判斷看它是否為 000 001 111 110中的一個(gè),如果是此四個(gè)3B碼中的某一個(gè),則需要2組4B碼交替使用,因?yàn)楸M量使用|WDS|=2的碼字可以通過(guò)以WDS的最佳選擇來(lái)保證線路碼的傳輸特性,可以進(jìn)一步提高線路
78、碼傳輸?shù)男?,降低誤碼。</p><p> 鑒于此四個(gè)3B碼的選擇性,在編程的時(shí)候必須設(shè)計(jì)出相應(yīng)的條件判斷程序,以便判斷是否是這四個(gè)碼中的一個(gè)。同時(shí)還必須設(shè)置相應(yīng)的標(biāo)志位,用來(lái)標(biāo)明哪一個(gè)碼組已經(jīng)使用過(guò),這樣就不會(huì)連續(xù)重復(fù)使用同一個(gè)碼組,達(dá)到正負(fù)碼組交替使用的目的。</p><p> 由于在3B碼的串行/并行轉(zhuǎn)換電路以及4B碼的并行/串行轉(zhuǎn)換電路中,這兩個(gè)外圍電路都有其自己的時(shí)鐘脈沖,而
79、是其來(lái)自同一個(gè)脈沖源的分頻電路,這就保證了3B并行碼流輸入時(shí)和4B并行碼流讀出時(shí)的時(shí)效性。在外圍電路能夠正常工作的情況下,我們?cè)诔绦蛟O(shè)計(jì)的過(guò)程中,就必須保證PIC單片機(jī)能夠準(zhǔn)確按時(shí)的讀取3B碼流以及輸出4B碼流,這樣才不會(huì)造成碼流的阻塞以及誤碼。而單片機(jī)內(nèi)部的時(shí)鐘頻率遠(yuǎn)遠(yuǎn)高于外圍電路的脈沖頻率,單片機(jī)有充分的時(shí)間來(lái)執(zhí)行碼表處理程序,一但讀入3B碼就可以立刻輸出4B碼,一般不會(huì)對(duì)4B并串轉(zhuǎn)換電路造成影響。因此關(guān)鍵問(wèn)題是如何準(zhǔn)時(shí)讀取3B碼流
80、。</p><p> 針對(duì)以上問(wèn)題,解決問(wèn)題的關(guān)鍵在于如何“提醒”單片機(jī)按時(shí)去讀取3B碼流。對(duì)此,我們提出了兩種解決方法:一種是采用計(jì)時(shí)的方法,時(shí)間到了就讓單片機(jī)去讀取;另一種是中斷的方法,何時(shí)有新的3B碼流送到,就讓單片機(jī)去讀取。以下是兩種具體的程序設(shè)計(jì)方案。</p><p><b> 程序設(shè)計(jì)方案一</b></p><p> 此方案是
81、利用外部時(shí)鐘脈沖頻率CP與PIC內(nèi)部時(shí)鐘頻率的差別,進(jìn)行延時(shí)計(jì)數(shù),每隔一段特定的時(shí)間就使PIC單片機(jī)去讀取一次3B碼流,從而達(dá)到按時(shí)提取3B碼的目的。</p><p> 此方案中,必須注意到延時(shí)計(jì)數(shù)必須把單片機(jī)執(zhí)行此程序需要耗費(fèi)的時(shí)間計(jì)算在內(nèi)。而單片機(jī)執(zhí)行此程序耗費(fèi)的時(shí)間可由程序中所包含的指令數(shù)與指令周期的乘積計(jì)算出來(lái)。PIC不同于MCS系列單片機(jī),其大部分指令都是單周期指令,僅有少數(shù)多周期指令,如跳轉(zhuǎn)指令。因
82、此可以大致計(jì)算出執(zhí)行此程序所需的指令周期數(shù),而PIC單片機(jī)的指令周期則是根據(jù)單片機(jī)所選用的晶體振蕩器的頻率而定的,晶體振蕩器經(jīng)四分頻后即可得到單片機(jī)內(nèi)部頻率,取其倒數(shù)即可得出其指令周期。具體數(shù)據(jù)如下:</p><p> CP: 3B串并變換電路時(shí)鐘頻率為 9.6KHz ,T=1/f=104μs</p><p> PIC:若采用4 MHz的晶振,則四分頻后為1MHz,T=1/f= 1μs
83、</p><p> 若采用8 MHz的晶振,則四分頻后為2MHz,T=1/f=0.5μs</p><p> 若采用20MHz的晶振,則四分頻后為5MHz,T=1/f=0.2μs</p><p> PIC單片機(jī)與外圍的串并變換電路和并串轉(zhuǎn)換電路相連時(shí),只需用到PORTB端口,其中PORTB.1~PORTB.3用于串并變換后的并行3B碼流的輸入,而PORTB.4~
84、PORTB.7則用于并串變換中的并行4B碼流的輸出。</p><p> 此方案的程序流程圖如下:</p><p> 圖 5.1 編碼器程序方案一流程圖</p><p><b> 程序設(shè)計(jì)方案二</b></p><p> 此方案是利用PIC單片機(jī)中的外部中斷功能來(lái)設(shè)計(jì)程序。利用中斷的思想可以方便的控制單片機(jī)去讀取
85、3B碼流,一旦有中斷信號(hào)來(lái)到,就說(shuō)明有新的3B碼流轉(zhuǎn)換完畢,單片機(jī)就去讀取這些碼字;而當(dāng)沒(méi)有中斷信號(hào)的時(shí)候,單片機(jī)則處于等待狀態(tài)。采用這種中斷思想設(shè)計(jì)的程序可以保證單片機(jī)準(zhǔn)時(shí)讀取3B碼流。而PIC單片機(jī)的PORTB.0引腳則是單片機(jī)內(nèi)置的3個(gè)外部中斷源之一,因此我們可以方便的通過(guò)PORTB.0引腳向單片機(jī)提交中斷請(qǐng)求信號(hào)。</p><p> 采用中斷方式來(lái)控制單片機(jī)讀取3B碼流,關(guān)鍵是要找到適當(dāng)?shù)闹袛嘈盘?hào)。在外
86、部的串并轉(zhuǎn)換電路中,為了使3B碼流同步并行輸入,這就需要一個(gè)控制信號(hào)使其同步輸入,按照4.3.1節(jié)的設(shè)計(jì),74194的輸出端中的QD的作用就是負(fù)責(zé)當(dāng)3位碼全部置位好以后,經(jīng)反相后打開三個(gè)與門使3位碼字同步輸出。因此采用QD經(jīng)反相器后的輸出信號(hào)作為中斷源,完全可以滿足我們的要求。</p><p> 按照這種編程設(shè)計(jì)思想,PIC單片機(jī)與外圍串并轉(zhuǎn)換電路相連接時(shí),只需將PORTB.0引腳與串并轉(zhuǎn)換電路中的六反相器74
87、04的輸出端相接,就可以利用PIC單片機(jī)的中斷請(qǐng)求來(lái)準(zhǔn)時(shí)讀取3B并行碼流;而PORTB.1~3仍然用來(lái)讀取3位并行碼字,PORTB.4~7則仍然用來(lái)輸出并行4位碼字。</p><p> 此設(shè)計(jì)方案在編程的過(guò)程中與方案一大致相同,其中碼字的判斷,標(biāo)志位的變換,碼表的查找部分都是完全一樣的。只是用中斷處理程序代替了延時(shí)子程序,流程圖也只是在最后部分略有不同,如下圖所示:</p><p>
88、圖 5.2 編碼器程序方案二流程圖</p><p><b> 兩種方案的比較</b></p><p> 這兩種設(shè)計(jì)方案各有特點(diǎn),方案一所涉及到的硬件比方案二要少,即不需要用到PORTB.0引腳,電路設(shè)計(jì)起來(lái)比較方便;相應(yīng)的子程序也只用到了最基本的循環(huán)計(jì)數(shù)程序,設(shè)計(jì)起來(lái)難度較小。</p><p> 方案二在硬件上比方案一多用一個(gè)引腳,硬件設(shè)
89、計(jì)較方案一復(fù)雜;同時(shí),既然用到了PORTB.0引腳,就必須編寫其相應(yīng)的中斷處理程序,編寫難度大于循環(huán)程序。但是方案二卻有方案一不可超過(guò)的優(yōu)點(diǎn),就是在精確性和長(zhǎng)時(shí)間運(yùn)行的穩(wěn)定性比方案一好的多。這是因?yàn)榉桨敢恢?,利用CP的周期與PIC內(nèi)部的指令周期的關(guān)系來(lái)進(jìn)行計(jì)數(shù)延時(shí)不可能做到十分精確,這是因?yàn)椋?lt;/p><p> 第一,外圍電路CP脈沖的周期T=104μs本來(lái)就是一個(gè)近似值</p><p>
90、; 第二,在程序的編寫過(guò)程中存在很多分支,如對(duì)000,001,110和111四個(gè)需要交替使用正負(fù)碼表的碼字就要進(jìn)行判斷,而判斷的結(jié)果將可能造成程序的跳轉(zhuǎn),一旦發(fā)生跳轉(zhuǎn),一個(gè)循環(huán)內(nèi)的程序執(zhí)行完畢所需的指令就會(huì)增加,相應(yīng)也必然會(huì)造成執(zhí)行程序時(shí)間的延長(zhǎng)。系統(tǒng)長(zhǎng)時(shí)間運(yùn)行后有可能出現(xiàn)連續(xù)讀取同一個(gè)3位碼字或者錯(cuò)過(guò)讀取一個(gè)3位碼字的情況。</p><p> 相較之下,采用方案二的設(shè)計(jì)方法則要精確和穩(wěn)定得多,因?yàn)閱纹瑱C(jī)只有
91、在有中斷請(qǐng)求信號(hào)的情況下才去讀取3位并行碼字,而不是延時(shí)固定的時(shí)間再去讀取。沒(méi)有中斷請(qǐng)求的時(shí)候PIC單片機(jī)處于待機(jī)狀態(tài),而且PIC單片機(jī)的中斷源是與外部串并轉(zhuǎn)換電路緊密相連的,一旦有新的3位碼字并行輸出,單片機(jī)的PORTB.0口一定會(huì)有中斷產(chǎn)生,絕對(duì)不可能錯(cuò)過(guò),從而保證了系統(tǒng)的精確性和穩(wěn)定性。</p><p><b> 譯碼器程序設(shè)計(jì)</b></p><p><
92、;b> 程序設(shè)計(jì)思想</b></p><p> 3B4B譯碼器的并行輸入為4B碼,而經(jīng)碼表變換后輸出的則是3B碼。在變換的過(guò)程中不存在類似編碼器中的正負(fù)碼表交替使用的問(wèn)題。</p><p> 在編碼器設(shè)計(jì)中000,001,110和111四個(gè)3位碼字對(duì)應(yīng)與兩組組碼表,并且需要交替使用;而010,011,100,101四個(gè)碼字則僅有唯一的一組碼表與之對(duì)應(yīng),也不需要不同碼
93、組交替使用。也就是說(shuō),部分碼字在進(jìn)行碼變換時(shí)并不是一對(duì)一的唯一映射,故編碼程序在設(shè)計(jì)時(shí)存在一個(gè)單對(duì)多的選擇問(wèn)題,相應(yīng)的程序設(shè)計(jì)也較為復(fù)雜。</p><p> 在譯碼器的設(shè)計(jì)中則不存在這樣的問(wèn)題,每一個(gè)4位碼字都只有唯一的一個(gè)3位碼字與之相對(duì)應(yīng),盡管可能出現(xiàn)重復(fù),如1011和0100都對(duì)應(yīng)的是000,但每一個(gè)4位碼字與3位碼字之間是一個(gè)一對(duì)一的關(guān)系。</p><p> 安照這種原則所進(jìn)行
94、的程序設(shè)計(jì),將大大減少分支程序的數(shù)量,因?yàn)椴恍枰袛啻a字以選擇不同碼組,也不用測(cè)試和置位標(biāo)志位。在這種情況下使程序變得十分簡(jiǎn)練。在譯碼器的設(shè)計(jì)中我們不能直接將節(jié)1. 2. 1中的碼表逆用而得到4B碼至3B轉(zhuǎn)換的碼表,這是因?yàn)樵a表是根據(jù)線路碼的最佳編碼規(guī)則而制定的,在3B碼向4B碼的轉(zhuǎn)換過(guò)程中它盡量選擇的是|WDS|最小的4B碼字,如使|WDS|=0和2的1010和1110,而使|WDS|=4的4B碼字并沒(méi)有選用,如0000和1111。
95、但我們?cè)谶M(jìn)行譯碼的過(guò)程中并不能排除0000和1111這樣的4位碼字的存在,一旦出現(xiàn)這樣的碼字,我們必須對(duì)其進(jìn)行編碼。針對(duì)這種情況,我們重新編寫了4B碼至3B碼轉(zhuǎn)換的碼表如表5.1所示</p><p> 表 5.1 4B3B轉(zhuǎn)換碼表</p><p><b> 程序設(shè)計(jì)方案</b></p><p> 鑒于在5.2節(jié)所論述的結(jié)果,我們選用中斷
96、方式來(lái)“提醒”PIC單片機(jī)準(zhǔn)時(shí)提取由4B碼串并轉(zhuǎn)換電路所產(chǎn)生的4位并行碼流;輸出時(shí)則向3B碼并串變換電路提供3位并行碼流。</p><p> PIC單片機(jī)與外圍串并轉(zhuǎn)換電路以及并串轉(zhuǎn)換電路相連時(shí),仍是只用到了PORTB端口。利用節(jié)4.5.1中所設(shè)計(jì)的譯碼器串并轉(zhuǎn)換電路,將74194的QD端經(jīng)反相器后的輸出端與RA4/TOCKI相連,使之為單片機(jī)提供中斷請(qǐng)求信號(hào);而RC0~3用來(lái)輸入4位并行數(shù)據(jù),RC4~6則用來(lái)
97、輸出3位并行數(shù)據(jù)。</p><p><b> 程序流程圖如下:</b></p><p> 圖 5.3 譯碼器程序流程圖</p><p><b> 參 考 文 獻(xiàn)</b></p><p> [1]張寶富等.現(xiàn)代光纖通信與網(wǎng)絡(luò)教程[M],人民郵電出版社, 2002</p><
98、p> [2]譚揚(yáng)林. 光纖通信系統(tǒng)[M],湖南大學(xué)出版社, 2000</p><p> [3]顧畹儀等.光纖通信系統(tǒng)[M],北京郵電大學(xué)出版社, 1999</p><p> [4]劉增基等. 光纖通信[M],西安電子科技大學(xué)出版社, 2001</p><p> [5]Gerd Keiser著.光纖通信(第三版) [M], 電子工業(yè)出版社, 2002&l
99、t;/p><p> [6]袁國(guó)良等.光纖通信簡(jiǎn)明教程[M], 清華大學(xué)出版社, 2006</p><p> [7]丁元杰. 單片微機(jī)原理及應(yīng)用[M],機(jī)械工業(yè)出版社, 1996</p><p> [8]吳德明. 光纖通信原理與技術(shù)[M],科學(xué)出版社, 2004</p><p> [9] Govind P.Agrawal. 光纖通信系統(tǒng)(
100、第3版)[M],清華大學(xué)出版社, 2004</p><p> [10]解金山,陳寶珍. 光纖數(shù)字通信技術(shù)[M],電子工業(yè)出版社,1997</p><p> [11]王延恒. 光纖通信技術(shù)基礎(chǔ)[M],天津大學(xué)出版社,1990 </p><p> [12]何信龍,李雪銀. PIC16C7X 入門與應(yīng)用范例[M],清華大學(xué)出版社,2002 </p>
101、<p> [13]張旦寧,程彬等. 進(jìn)口集成電路數(shù)據(jù)手冊(cè)[M],廣東科技出版社,1993 </p><p> [14]荀殿棟,程宗匯. 實(shí)用數(shù)字電路設(shè)計(jì)手冊(cè)[M],電子工業(yè)出版社, 1994 </p><p> [15] BEHZAD RAZAVI. 光通信集成電路設(shè)計(jì)[M],清華大學(xué)出版社,2005</p><p> 附錄A:光纖通信線路編/譯碼
102、器的總電路圖</p><p> 附錄B:編碼器程序清單</p><p> ?。籙ser Register Defintion ; </p><p> ZERO EQU 0020 ; 000測(cè)試寄存器 </p><p> SEVEN EQU 0021
103、 ; 111測(cè)試寄存器</p><p> EXCHG EQU 0022 ; 低四位交換寄存器</p><p> W_STK EQU 0023 ; W保存寄存器</p><p> STATUS_STK EQU 0024
104、 ; STATUS保存寄存器</p><p> PCLATH_STK EQU 0025 ; PCL保存寄存器</p><p> ??;Program Reset Vector ;</p><p> ORG 0000 </p><p> G
105、OTO START </p><p> ?。籌nterrupt Reset Vector ; 中斷保護(hù)程序</p><p> ORG 0004 </p><p> MOVWF W_STK
106、 ;保護(hù)W的內(nèi)容</p><p> MOVF STATUS , W </p><p> MOVWF STATUS_STK ;保護(hù)STATUS的內(nèi)容</p><p> CLRF STATUS </p><p> MOV
107、WF PCLATH , W </p><p> MOVF PCLATH_STK ;保護(hù)PCL的內(nèi)容 </p><p> CLRF PCLATH </p><p> ??;Interrupt Flag Test
108、 ;測(cè)試中斷標(biāo)志位</p><p> BTFSC INTCON , INTF ;測(cè)試INT中斷 </p><p> GOTO INT_IST </p><p> END_INT: ;中斷恢復(fù)</p><p> B
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 光纖通信課程設(shè)計(jì)---高速光纖通信中的偏振模色散及其補(bǔ)償技術(shù)
- 畢業(yè)論文—數(shù)字光纖通信編碼的研究與設(shè)計(jì)
- 光纖通信與設(shè)計(jì)課程網(wǎng)站畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--光纖通信系統(tǒng)工程設(shè)計(jì)
- 數(shù)字光纖通信編碼的研究與設(shè)計(jì).pdf
- 光纖通信技術(shù)畢業(yè)
- 畢業(yè)設(shè)計(jì)(論文)光纖通信的發(fā)展趨勢(shì)探討
- 光纖通信中的QC-LDPC碼構(gòu)造.pdf
- 光纖通信中光發(fā)射機(jī)的研究.pdf
- 光纖通信及其器件的研究進(jìn)展-畢業(yè)設(shè)計(jì)論文
- 電力系統(tǒng)光纖通信線路設(shè)計(jì) (1)
- 光纖通信畢業(yè)論文
- 光纖通信畢業(yè)論文
- 光纖通信在電廠線路保護(hù)中的應(yīng)用
- 電力光纖通信線路的安全評(píng)估.pdf
- 畢業(yè)設(shè)計(jì)--光纖通信技術(shù)研究現(xiàn)狀和應(yīng)用前景
- 畢業(yè)設(shè)計(jì)--34mbs光纖通信系統(tǒng)工程設(shè)計(jì)
- 光纖通信課程設(shè)計(jì)
- 光纖通信課程設(shè)計(jì)
- 闡述光纖通信原理及光纖通信系統(tǒng)構(gòu)成的應(yīng)用
評(píng)論
0/150
提交評(píng)論