文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2011)03-0054-04
ASIC是根據(jù)某一特定用戶要求和特定電子系統(tǒng)的需要而設(shè)計,、制造的集成電路,。ASIC按照設(shè)計方法的不同可分為全定制ASIC,半定制ASIC和可編程ASIC(也稱為可編程邏輯器件),。本文所設(shè)計的遙控機器人編碼芯片是全定制ASIC芯片,,先要定義編碼芯片上所有晶體管的幾何圖形和工藝規(guī)則,,最后將設(shè)計結(jié)果交由IC廠家掩膜制造完成[1][2],。設(shè)計的編碼ASIC提高了遙控機器人的性能,由于采用了脈沖寬度調(diào)制技術(shù)(PWM),,解決了同類芯片電路中的碼間干擾,,增強了系統(tǒng)工作的穩(wěn)定性,提高了安全性[3][4],。該芯片采用N阱0.5 ?滋m硅柵工藝,,采用手工雙層金屬布線,工藝成熟,、穩(wěn)定可靠,,芯片的面積利用率高、速度快,、功耗低,。
1 芯片功能定義
在無線遙控系統(tǒng)領(lǐng)域里,,編碼芯片和解碼芯片分別完成信號的功能編碼和解碼,并驅(qū)動相應(yīng)的控制功能,。本文設(shè)計的遙控機器人編碼芯片管腳應(yīng)用分布如圖1所示,。設(shè)計的編碼芯片需完成地址碼學(xué)習(xí)請求和相應(yīng)的8個控制功能的編碼和發(fā)送,當(dāng)STUDY鍵按下時,,編碼芯片輸出端(DO)迅速發(fā)送地址碼學(xué)習(xí)請求信號,,當(dāng)STUDY松開時,且有控制功能鍵按下時,,編碼芯片輸出端(DO)就會發(fā)送對應(yīng)的8 bit控制功能請求信號,,這8個控制功能信號包括:向前(FORWARD)、向后(BACKWARD),、加速(TURBO),、向右(RIGHT)、向左(LEFT),、附加功能1(FUNCTION1),、附加功能2(FUNCTION2)、附加功能3(FUNCTION3),。FORWARD,、BACKWARD、TURBO,、RIGHT,、LEFT控制解碼芯片所屬載體的基本控制動作,附加功能1~附加功能3可以用作功能拓展,,例如機器人的前后燈亮滅控制,,輪子自動收起等,相應(yīng)可以擴展出多種實際應(yīng)用,?;谝陨匣驹O(shè)想可確定芯片應(yīng)具有的基本輸入輸出:1個清零控制端RESET;1個地址碼學(xué)習(xí)請求輸入STUDY,,用于地址碼學(xué)習(xí)功能請求,,相對于其他請求功能,它具有最高優(yōu)先權(quán),。8個控制功能輸入:向前(FORWARD),、向后(BACKWARD)、加速(TURBO),、向右(RIGHT),、向左(LEFT)、附加功能1(FUNCTION1),、附加功能2(FUNCTION2),、附加功能3(FUNCTION3),,用以確定控制功能信號;1個工作狀態(tài)輸出端LO,,外接一個發(fā)光管用于表示編碼芯片是否處于工作狀態(tài),;1個幀信號發(fā)送端DO;另外內(nèi)部振蕩電路需要外接大電阻,,需要設(shè)置振蕩輸入和輸出管腳OSCI,、OSCO用于外接大阻值電阻,或接可變電阻,,用來進(jìn)行系統(tǒng)頻率的調(diào)節(jié),;電源VDD,地VSS,,確定以后的遙控編碼芯片外部管腳及對應(yīng)功能見表1,。
2 信號的幀結(jié)構(gòu)
遙控機器人編碼芯片的幀結(jié)構(gòu)如圖2所示,它由同步碼,、16位地址碼,、2位狀態(tài)碼、8位功能碼,、奇偶校驗碼及結(jié)束位32個碼元構(gòu)成,,設(shè)計中的基帶碼型以脈沖寬度調(diào)制(PWM)技術(shù)采用占空比3/4的矩形脈沖表示“1”,占空比1/4的矩形脈沖表示“0”(圖3),。幀同步碼是一個幀周期信號的標(biāo)志,,幀同步位為“1110”; 幀結(jié)構(gòu)中有16位地址位,,在地址碼學(xué)習(xí)的過程中,,編碼芯片向解碼芯片發(fā)送具有地址碼學(xué)習(xí)請求功能信號,其中有16位地址碼為編碼芯片所要求解碼芯片學(xué)習(xí)的地址碼[5],。當(dāng)?shù)刂反a學(xué)習(xí)成功后,,編碼芯片向解碼芯片發(fā)送具有控制功能的請求信號,其中的16位地址碼必須與解碼芯片學(xué)習(xí)后的地址碼進(jìn)行判斷,,如果相同,,就進(jìn)行相應(yīng)的控制功能驅(qū)動,否則將此控制功能請求信號作無效信號處理,。狀態(tài)位X1,X2分別為“01”和“11”時表示地址碼學(xué)習(xí)請求和控制功能驅(qū)動請求,。幀結(jié)構(gòu)中設(shè)置的功能位對應(yīng)遙控機器人的8個控制功能:向前(FORWARD),、向后(BACKWARD)、加速(TURBO),、向右(RIGHT),、向左(LEFT),、附加功能1(FUNC-TION1)、附加功能2(FUNCTION2),、附加功能3(FUNCTION3),,并按照以上順序排列。另外,,當(dāng)狀態(tài)為地址碼學(xué)習(xí)請求時,,該8位功能碼必須全為零。當(dāng)狀態(tài)為控制功能請求時,,功能碼自身必須具有一定的互斥性,。例如,控制功能不能出現(xiàn)同時向左向右或同時向前向后,,如果出現(xiàn)這種情況,,則認(rèn)為出現(xiàn)編碼出錯,解碼部分將會丟棄該幀,,這是符合實際情況的,。因此在解碼芯片電路設(shè)計中,分別增加了地址碼學(xué)習(xí)時功能數(shù)據(jù)檢測位電路和控制功能驅(qū)動時功能數(shù)據(jù)檢測電路,。奇偶校驗位采用偶校驗方式,,對功能數(shù)據(jù)位進(jìn)行校驗,當(dāng)功能數(shù)據(jù)位出現(xiàn)偶數(shù)個有效位(高電位“1”)時,,校驗位為低電位“0”,;當(dāng)功能數(shù)據(jù)位出現(xiàn)奇數(shù)個有效位時,校驗位為高電平“1”,,奇偶校驗位為幀中第31位,。結(jié)束位為一位高電位“1”,表示一幀的結(jié)束,,未檢測到結(jié)束位時同樣丟棄該幀,。
3 編碼芯片設(shè)計
遙控機器人編碼芯片由振蕩電路、時序產(chǎn)生電路,、按鍵防抖動電路,、上電復(fù)位電路(包含移位計數(shù)和狀態(tài)機電路、控制功能信號的鎖存電路,、地址碼學(xué)習(xí)請求信號輸出電路,、控制功能請求輸出電路)、位同步輸出電路等模塊構(gòu)成,。編碼系統(tǒng)框圖如圖4所示,。編碼芯片模塊主要有兩大功能,功能一:發(fā)送地址碼請求信號,,為了使編碼芯片與相應(yīng)的解碼芯片形成一一對稱的地址碼學(xué)習(xí)關(guān)系,,首先保證解碼芯片是在地址碼學(xué)習(xí)允許的情況下(SRC按下),,然后按下地址碼學(xué)習(xí)請求按鍵STUDY,編碼芯片輸出端DO就會輸出地址學(xué)習(xí)請求功能的32幀周期信號“11101010101010101010010000000001”的編碼信號“1110-1110-1110-1000-1110-1000-1110-1000-1110-1000-1110-1000-1110-1000-1110-1000-1110-1000-1110-1000-1000-1110-1000-1000-1000-1000-1000-1000-1000-1000-1000-1110”,,解碼芯片接收到請求信號后進(jìn)行解碼,,然后進(jìn)行檢測和判斷,再進(jìn)行地址碼學(xué)習(xí),,將解碼芯片的16位地址鎖存器固定為“1010101010101010”,。功能二:地址碼學(xué)習(xí)成功之后,分別松開SRC和STUDY按鍵,,根據(jù)需要輸入8位控制功能信號,,編碼芯片將功能控制幀周期信號進(jìn)行編碼,然后再輸出,,發(fā)送給解碼芯片,,解碼芯片再進(jìn)行解碼驅(qū)動相應(yīng)的控制功能。如果無任何輸入狀態(tài),,編碼芯片輸出零信號的編碼信號,。其整個流程如圖5所示。最后編碼系統(tǒng)完成由地址碼學(xué)習(xí)請求和控制功能請求信號的編碼發(fā)送,。
4 各模塊電路設(shè)計和功能仿真
根據(jù)遙控機器人編碼模塊總體設(shè)計框圖,,在Quartus II環(huán)境下,使用硬件描述語言Verilog-HDL及原理圖對整個編碼系統(tǒng)各模塊進(jìn)行行為級描述,,最后通過Synplify軟件對硬件描述語言Verilog -HDL進(jìn)行綜合,,得到門級電路。圖6為編碼系統(tǒng)的核心頂層模塊組合,,其中fangdd為按鍵輸入信號防抖動模塊,,clk_div128k為分頻模塊,為系統(tǒng)提供頻 率為2 kHz的時鐘,;fenpin_count是四進(jìn)制加法計數(shù)器和clk_2k的四分頻模塊,;send1是請求信號的位同步模塊,其同步頻率為512 Hz,,位同步信號以幀周期形式輸出, code1_4是幀周期信號的碼元編碼模塊,將原代碼編碼成適合信道中傳輸和接收的基帶信號,。
完成編碼芯片各模塊的行為級描述之后,進(jìn)行功能仿真驗證,。首先按下reset鍵復(fù)位清零,,使芯片中所有的寄存器和鎖存器置零,然后發(fā)送一個地址碼學(xué)習(xí)請求信號(study鍵按下,,相對于控制功能請求來說,,具有更高的優(yōu)先級),此時send1模塊判斷信號為地址碼學(xué)習(xí)請求,然后send1的輸出端輸出具有學(xué)習(xí)請求功能的幀周期信號“1-1-1-0-1-0-1-0-1-0-1-0-1-0-1-0-1-0-1-0-0-1-0-0-0-0-0-0-0-0-0-1”,。其中前4位“1-1-1-0”為幀頭信號,;第5位至第20位為發(fā)送出去的16位地址碼;第21位和第22位為請求狀態(tài)位,,“01”表示地址碼學(xué)習(xí)請求,,“11”表示功能控制請求,此時為地址碼學(xué)習(xí)請求狀態(tài),,即為“01”,;第23位至第30位為功能數(shù)據(jù)位,由于此時為地址碼學(xué)習(xí)請求狀態(tài),,故該8位功能數(shù)據(jù)位為零,;第31位為奇偶校驗位,是用于判斷功能數(shù)據(jù)位的奇偶情況,;第32位為結(jié)束位,,是幀周期結(jié)束標(biāo)志。然后經(jīng)過code1-4模塊進(jìn)行碼元編碼輸出,,由仿真結(jié)果可知相應(yīng)的碼元為“1110-1110-1110-1000-1110-1000-1110-1000-1110-1000-1110-1000-1110-1000-1110-1000-1110-1000-1110-1000-1000-1110-1000-1000-1000-1000-1000-1000-1000-1000-1000-1110”,。隨后在沒有地址碼學(xué)習(xí)請求時,輸入控制功能信號,,輸出的幀周期信號與地址學(xué)習(xí)請求幀周期相同,,不同之處是:其一,地址碼與原來地址學(xué)習(xí)請求發(fā)送的地址碼一模一樣,,它是用于與解碼芯片學(xué)習(xí)后的地址碼進(jìn)行比較判斷,,并不是用于地址碼學(xué)習(xí)之用;其二,,功能數(shù)據(jù)位是相應(yīng)的控制功能輸入信號,,并非全為零。此仿真過程中,,輸入了地址碼學(xué)習(xí)請求,、向右加速前進(jìn)請求和向左后退請求,輸出端口分別輸出了相應(yīng)的幀周期信號,,達(dá)到了設(shè)計效果,。
5 編碼芯片的硬件驗證
軟件仿真是驗證系統(tǒng)電路設(shè)計正確性的第一道保障,但它只是對實際情況的一種軟件模擬,,不能替代實際的硬件驗證,。在ASIC設(shè)計過程中,常常需要對前端設(shè)計做FPGA原型驗證來確保設(shè)計的實際可行性,。本平臺的主控制芯片采用了ATERA公司研發(fā)的Cyclone II系列EP2C8Q208N再加上EPCS4配置芯片,。在Quartus II中分別將編、解碼芯片的核心電路圖(數(shù)字電路)輸入、輸出管腳絆定并進(jìn)行編譯,,生成相應(yīng)的*.pof文件,,部分在可編程邏輯器件中無法實現(xiàn)的模擬電路部分被簡化掉,因為這些改變不會影響整個編解碼方案的功能,。另外在下載界面中選擇AS模式(Actice Serial programming),,通過串口下載線,將*.pof文件直接下載到EPCS4芯片中,,然后主控制芯片EP2C8Q208C8N將調(diào)用配置芯片EPCS4中的軟硬件數(shù)據(jù),,對整個編解碼電路進(jìn)行相關(guān)的數(shù)據(jù)處理。系統(tǒng)所需的時鐘信號clk_2KHz,、clk_512Hz,、clk_128Hz都是由該核心開發(fā)板上的晶振提供的50 MHz分頻而來的。為了成功完成編碼芯片的FPGA硬件驗證,,先制作10個輸入(RESET,、STUDY、FOR-WARD,、BACKWARD,、TURBO、RIGHT,、LEFT,、F1、F2,、F3)的外圍控制電路,,然后將編碼芯片的核心電路下載到目標(biāo)芯片中。核心開發(fā)板上綁定的10個輸入端口分別用導(dǎo)線連接對應(yīng)的外圍控制電路的10個接口,,輸出端(data out)接入示波器(安捷倫公司的存儲示波器:Agilent 1 160 A 600 M)信號輸入接口,。先后按下外圍電路地址碼學(xué)習(xí)請求按鍵study和控制功能請求按鍵(forward、turbo,、right),,然后利用示波器分別抓取了地址碼學(xué)習(xí)請求和“向右加速前進(jìn)”控制功能請求信號的編碼波形。觀察波形可知,,編碼芯片的FPGA驗證系統(tǒng)與編碼芯片的T-spice仿真一樣,,都能正確無誤地完成地址碼學(xué)習(xí)請求功能和控制功能請求功能,證明了編碼芯片電路設(shè)計的實際可行性,。
6 版圖設(shè)計
遙控機器人編碼芯片的版圖設(shè)計采用N阱0.5 ?滋m硅柵工藝,,其邏輯控制部分的最小線寬為0.5 ?滋m。為了使編碼芯片版圖在面積和性能上最優(yōu)化,,整個版圖設(shè)計是調(diào)用預(yù)先設(shè)計好的各單元版圖模塊在taner-pro軟件上通過全手工布局布線的方式完成,,大大減小了芯片面積,。編碼芯片有16個輸入輸出壓焊塊,MOS管及阻容元件近5 591個,,版圖總面積為1.241 mm×0.950 mm,。解編碼芯片有22個輸入輸出壓焊塊,MOS管及阻容元件近6 282個,,版圖總面積為1.310 mm×0.941 mm,。最后對遙控機器人編碼芯片的版圖進(jìn)行了整體的設(shè)計規(guī)則檢查(DRC),,同時將版圖萃取的文件(bianma.spc和jiema.spc)與相應(yīng)原理圖萃取的文件(bianma.sp和jiema.sp)進(jìn)行LVS(版圖與原理圖的一致性檢查)對比,,結(jié)果一致[6]。最后提取GDS II文檔,。
遙控機器人編碼芯片的研制,,提高了集成度,比同類編碼芯片的外接元器件少,適合開發(fā)各種低成本遙控報警器及遙控系統(tǒng),。在具體的應(yīng)用中,,只要增強無線射頻有效距離,就可將它移植到遠(yuǎn)距離工作的工業(yè)遙控操作系統(tǒng)以及遙控作戰(zhàn)機器人,、遙控裝甲車和無人駕駛戰(zhàn)斗機中,,并具有很好的發(fā)展前景。
參考文獻(xiàn)
[1] 劉麗華,,辛德祿,,李本俊.專用集成電路設(shè)計方法[M].北京:北京郵電大學(xué)出版社,2001.
[2] 楊凱,,崔炳哲.數(shù)字邏輯電路的ASIC設(shè)計[M].北京:科學(xué)出版社,,2004.
[3] 肖景和,趙健.無線電遙控組件及其應(yīng)用電路[M].人民郵電出版社,,1997.
[4] 何書森.實用遙控電路原理與設(shè)計速成[M].福州:福建科學(xué)技術(shù)出版社,,2002.
[5] 王小華.具有學(xué)習(xí)功能的遙控賽車解碼器的ASIC設(shè)計[J].北京:航天控制,2009(5).
[6] 廖裕評,,陸瑞強著.Tanner Pro集成電路設(shè)計與布局實戰(zhàn)指導(dǎo)[M].北京:科學(xué)出版社,,2004.