《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > PSD8××F的在系統(tǒng)編程技術(shù)

PSD8××F的在系統(tǒng)編程技術(shù)

2009-05-31
作者:顏榮江

  摘 要: 介紹了WSI公司的在系統(tǒng)可編程單片機(jī)外圍器件PSD8××F系列芯片的組成及其性能。描述了如何通過(guò)端口C實(shí)現(xiàn)JTAG接口的軟件、硬件配置以及利用WSI公司的FlashLink編程適配器和PSDsoft軟件進(jìn)行在系統(tǒng)編程的相關(guān)問(wèn)題。
  關(guān)鍵詞: 在系統(tǒng)編程 JTAG接口 PSD8××F器件 FlashLink適配器 PSDsfot軟件


  采用模塊化設(shè)計(jì)技術(shù),由WSI公司研制的可編程微控制器系統(tǒng)外圍器件PSD系列芯片,將構(gòu)成一個(gè)單片機(jī)應(yīng)用系統(tǒng)所需的多個(gè)外圍功能塊,如EPROM、SRAM、I/O、PLD等,集成在單一硅片上,為簡(jiǎn)化嵌入式應(yīng)用系統(tǒng)的設(shè)計(jì)、縮短產(chǎn)品的開發(fā)周期、提高系統(tǒng)的可靠性、降低系統(tǒng)的成本、縮小產(chǎn)品尺寸提供了一條便利的捷徑。PSD系列器件的可編程特性及其潛在的優(yōu)點(diǎn)已逐步為廣大的產(chǎn)品設(shè)計(jì)和應(yīng)用工程師所理解和掌握,并將其應(yīng)用在各自的產(chǎn)品設(shè)計(jì)中,從PSD2××、PSD3××、PSD4××、PSD5××、PSD6××、PSD7××各系列產(chǎn)品中,用戶可根據(jù)實(shí)際電路工作的需要,選擇合適的PSD芯片來(lái)完成各自的功能。為進(jìn)一步方便工程師的研發(fā)及產(chǎn)品的更新、升級(jí),WSI最近又推出了新一代在系統(tǒng)可編程的微控制器外圍器件:PSD8××F系列芯片。該系列產(chǎn)品具有完整的在系統(tǒng)可編程特性,從而可使嵌入式系統(tǒng)的設(shè)計(jì)更加簡(jiǎn)單、靈活。
  PSD8××F除提供與各種微控制器直接連接的總線接口邏輯外,片內(nèi)還集成了優(yōu)化的“宏單元”邏輯陣列塊,它包括輸入宏單元和輸出宏單元。這些宏單元,既可傳遞組合邏輯信號(hào),又可在時(shí)鐘同步下寄存輸出,以完成一定的時(shí)序要求。其中,輸入宏單元可將來(lái)自引腳的輸入信號(hào)經(jīng)鎖存、寄存后或直接傳至內(nèi)部PLD陣列的輸入總線,一個(gè)典型的應(yīng)用就是分離地址/數(shù)據(jù)復(fù)用總線上的地址信息,或在兩個(gè)CPU通過(guò)共享存儲(chǔ)體傳遞數(shù)據(jù)時(shí)提供握手通信信號(hào)。而輸出宏單元既可作為一個(gè)內(nèi)部節(jié)點(diǎn),通過(guò)器件內(nèi)部的反饋網(wǎng)絡(luò)將宏單元的輸出信號(hào)反饋至PLD的輸入總線,也可直接通過(guò)引腳輸出,一個(gè)典型的應(yīng)用是可利用這些輸出宏單元構(gòu)成一個(gè)定時(shí)器/計(jì)數(shù)器,或?qū)崿F(xiàn)狀態(tài)機(jī)邏輯功能。以PSD813F1為例,單個(gè)芯片內(nèi)集成有:
  64字節(jié)的E2PROM(OTP)存儲(chǔ)器,由用戶存入特殊的文檔信息;
  128K字節(jié)的Flash存儲(chǔ)器,分成8個(gè)大小相同的塊,每個(gè)塊均可被設(shè)定為程序空間或數(shù)據(jù)空間,以分別用來(lái)存放程序或數(shù)據(jù);
  32K字節(jié)的E2PROM存儲(chǔ)器,分成4個(gè)大小相同的塊,每個(gè)塊均可被設(shè)定為程序空間或數(shù)據(jù)空間,以分別用來(lái)存放程序或數(shù)據(jù);
  2K字節(jié)的SRAM存儲(chǔ)器,掉電時(shí)可自動(dòng)切換到備用電源供電,以保持?jǐn)?shù)據(jù);
  24個(gè)輸入宏單元和16個(gè)輸出宏單元,可有效地實(shí)現(xiàn)多種邏輯功能,包括狀態(tài)機(jī)和地址譯碼器;
  27個(gè)獨(dú)立可配置輸入/輸出引腳,可用作標(biāo)準(zhǔn)MCU I/O,PLD I/O,鎖存地址輸出及特殊功能I/O;
  8個(gè)頁(yè)面寄存器,使微控制器的尋址空間擴(kuò)展256倍;
  內(nèi)置的JTAG從屬串口,可在現(xiàn)場(chǎng)對(duì)空白器件進(jìn)行在系統(tǒng)編程或?qū)σ?a class="innerlink" href="http://ihrv.cn/tags/編程器" title="編程器" target="_blank">編程器件進(jìn)行重新編程;
  10萬(wàn)次的擦除/寫入,10年的數(shù)據(jù)保存期。
  零功耗CMOS技術(shù),可編程的電源管理單元,支持兩種獨(dú)立的低功耗工作方式,+5V時(shí),待機(jī)狀態(tài)的電流典型值為10μA,且芯片可自動(dòng)檢測(cè)微控制器活動(dòng)的停止,并使PSD進(jìn)入低功耗方式。
  該系列芯片為真正的現(xiàn)場(chǎng)可編程器件,芯片的PSD配置、PLD陣列、E2PROM存儲(chǔ)器和Flash存儲(chǔ)器均能在系統(tǒng)中編程,通過(guò)WSI公司提供的PSDsoft軟件包,可生成各種編程器所需的目標(biāo)文件,包括標(biāo)準(zhǔn)的BSDL和SVF文件格式。由WSI公司自身提供的編程器有三種。它們分別是:MagicProⅢ、PSDPro和FlashLink,其中FlashLink為低成本的編程適配器,其一端與PC機(jī)的并行打印口相連,另一端則是標(biāo)準(zhǔn)14引腳的JTAG帶狀連接器,可直接與目標(biāo)系統(tǒng)板上的JTAG接口相連,通過(guò)JTAG信號(hào)線對(duì)PSD8××F器件進(jìn)行在系統(tǒng)編程,從而省去專用的器件編程器。當(dāng)電路設(shè)計(jì)中不使用JTAG信號(hào)對(duì)器件進(jìn)行編程時(shí),可使用另外兩種編程器完成對(duì)器件的編程任務(wù)。此時(shí)對(duì)應(yīng)的引腳可用作其它目的。
  由于PSD8××F片內(nèi)集成有多個(gè)功能塊,受篇幅限制,本文只著重介紹與JTAG接口有關(guān)的內(nèi)容。
1 JTAG技術(shù)規(guī)范
  PSD8××F遵守IEEE1149.1 JTAG技術(shù)規(guī)范的基本要求,但不支持該技術(shù)規(guī)范內(nèi)定義的邊界掃描功能,而支持JTAG接口的在系統(tǒng)配置(ISC)規(guī)范,并允許PSD8××F與其它工作于邊界掃描方式的器件一起存在于JTAG鏈中,此時(shí),PSD8××F支持BYPASS命令。
  IEEE JTAG-ISC規(guī)范仍在制訂中,盡管如此,許多應(yīng)用系統(tǒng)均采用通用可接受數(shù)據(jù)文件格式來(lái)反映最近的ISP規(guī)范。同樣,在PSD編程環(huán)境,需要兩個(gè)文件來(lái)定義ISC功能,一個(gè)文件是邊界掃描定義語(yǔ)言(BSDL)文件,它用來(lái)定義被編程器件的引腳和內(nèi)部寄存器(JTAG編程方式);另一個(gè)文件是串行矢量格式(SVF)文件,它用來(lái)定義所產(chǎn)生的動(dòng)作。這兩個(gè)文件均可由PSDsoft軟件包產(chǎn)生(關(guān)于JTAG和文件格式的詳細(xì)信息,請(qǐng)參見德州儀器網(wǎng)址www.ti.com搜索JTAG和PRIMER)。
  標(biāo)準(zhǔn)JTAG采用4個(gè)基本信號(hào):TCK、TMS、TDI、TDO。其中,TCK為同步時(shí)鐘,TDI和TDO分別為串行數(shù)據(jù)輸入和串行數(shù)據(jù)輸出,TMS為JTAG方式選擇。WSI還提供增強(qiáng)的JTAG引腳信號(hào),即在上述4個(gè)標(biāo)準(zhǔn)信號(hào)的基礎(chǔ)上,又附加兩個(gè)信號(hào)線:。其中,代表正在進(jìn)行的當(dāng)前動(dòng)作的瞬時(shí)狀態(tài),TERR指示對(duì)字節(jié)或扇區(qū)的編程/擦除是否超時(shí)。到目前為止,還沒(méi)有一個(gè)標(biāo)準(zhǔn)的JTAG引腳信號(hào)分配方案,由WSI公司定義的連接器引腳信號(hào)如圖1。這里,除上述已介紹的6個(gè)信號(hào)外,附加的信號(hào)有:提供低電平有效的使能輸入信號(hào),以便使PSD8××F的JTAG功能在端口C引腳上有效;RST,復(fù)位目標(biāo)系統(tǒng);,復(fù)位目標(biāo)板上的JTAG;CNTL,由用戶定義的信號(hào)。


2 編程/擦除流程控制
  有三種方法控制JTAG器件編程器和PSD器件之間的數(shù)據(jù)傳輸,其中option2和option3是WSI增強(qiáng)型ISP特性的選擇。
  option1:無(wú)流程控制(使用標(biāo)準(zhǔn)的4個(gè)JTAG引腳)。通常不予推薦。它涉及并考慮每次編程或擦除動(dòng)作的最差情況下的最大時(shí)間。
  option2:軟件流程控制(使用標(biāo)準(zhǔn)的4個(gè)JTAG引腳)。用軟件方法掃描硬件信號(hào)TSTAT和TERR,使用串行方式傳輸信息,不必等待每次編程/擦除動(dòng)作的最大時(shí)間,此方法較option1有較大改進(jìn)。
  option3:硬件流程控制(使用增強(qiáng)的6個(gè)JTAG引腳)。對(duì)于每次編程/擦除動(dòng)作,器件編程器將直接輪詢TSTAT和信號(hào),相對(duì)option2有可觀的改進(jìn)。
3 JTAG信號(hào)引腳的使能控制
  在PSD8××F器件內(nèi)部,所有與JTAG接口有關(guān)的信號(hào)均可從PSD8××F的端口C引腳上輸出。由于端口C是一個(gè)多功能口,當(dāng)JTAG編程完畢后,可將端口C用作其它目的。為了允許這種情況的出現(xiàn),在PSD8××F器件內(nèi)部,提供了三個(gè)不同的條件來(lái)使能標(biāo)準(zhǔn)的JTAG信號(hào)。這三個(gè)條件在邏輯上組織成“或”的關(guān)系。即只要其中任何一個(gè)條件為真,均使能JTAG信號(hào)連至端口C,其邏輯表達(dá)式如下:
  JTAG_ON = !Jtag_en + Jtag_FF + Jtag_PT
  (1)Jtag_en由PSDsoft軟件包中→PSD configuration(或Device config)→JTAG configura-tion→JTAG Functions中的第一個(gè)選擇框Enable TMS/TCK/TDI/TDO on PC0/PC1/PC5/ PC6確定。允許時(shí),Jtag_en=0,未選擇時(shí),Jtag_en=1。當(dāng)器件空白時(shí),Jtag_en=0,即JTAG在端口C上被使能,以允許FlashLink對(duì)器件進(jìn)行首次編程,一旦器件被編程且JTAG功能被禁止,則無(wú)法通過(guò)Flash Link對(duì)已編程器件中的內(nèi)容進(jìn)行第二次更新。在此情況下,只能通過(guò)WSI的專用編程器對(duì)其進(jìn)行后續(xù)的擦除/編程操作。
  (2)Jtag_FF為PSD器件內(nèi)部的JTAG使能寄存器的位0,其地址為CSIOP+C4H,其配置如下:

  
  JTAG使能寄存器(地址為CSIOP+C4H)
  在該寄存器中,位1~7未用,應(yīng)置為0,位0的定義如下:
  JTAG_EN=1 JTAG端口被使能 即Jtag_FF = 1
  JTAG_EN=0 JTAG端口被禁止 即Jtag_FF = 0
  (3)Jtag_PT是在PSDabel內(nèi)定義的JTAG使能乘積項(xiàng),該乘積項(xiàng)由PSD器件內(nèi)部的一個(gè)節(jié)點(diǎn)輸出,并由PSDabel提供一個(gè)保留名jtag sel。
4 專用JTAG引腳功能
  將PSD8××F的端口C專用于JTAG功能的基本連接方法如圖2。
  對(duì)于option1和option 2,可不連接TSTAT和,此時(shí)PSD8××F的PC3、PC4可用于其它功能。這里假定PC口被設(shè)定為CMOS輸出,若設(shè)置為開路輸出,應(yīng)分別在每一個(gè)信號(hào)的引出端連接100kΩ的上拉電阻。為了減少與電纜有關(guān)的尖峰或振鈴造成的虛假TCK信號(hào),推薦在TCK的輸入端使用斯密特觸發(fā)器進(jìn)行緩沖。


  專用于JTAG引腳功能對(duì)芯片的JTAG配置如下:
  (1)在PSDabel中,書寫方程:jtag sel = 0,即無(wú)需任何乘積項(xiàng)。
  (2)在PSD configuration中,選中Enable TMS/TCK/TDI/TDO on PC0/PC1/PC5/PC6以保證JTAG信號(hào)在端口C上始終有效。
5 復(fù)用JTAG引腳功能
  僅當(dāng)使用FlashLink編程器通過(guò)JTAG連線編程PSD8××F時(shí),片內(nèi)的JTAG信號(hào)才被連至端口C相應(yīng)的引腳上,而當(dāng)編程結(jié)束后可將端口C用于其它目的。這樣,可使同一端口用于多種目的。而IEEE1149.1規(guī)范并不支持JTAG引腳與其它功能多路復(fù)用,這是WSI的PSD8××F器件特有的功能。為保證該功能的正確實(shí)現(xiàn),可利用FlashLink編程適配器上提供的JEN信號(hào),該信號(hào)為低電平有效,并將其作為PSD8××F內(nèi)部PLD陣列的一個(gè)邏輯輸入,參與JTAG乘積項(xiàng)的控制,其基本連接方法如圖3(這里假設(shè)被連至PC7)。


  對(duì)于option1和option 2,開路輸出及TCK斯密特觸發(fā)器的緩沖的說(shuō)明與專用JTAG引腳部分的說(shuō)明相同。特別需要注意的是,要確保在編程期間內(nèi),用戶電路組件上的專用I/O信號(hào)與JTAG信號(hào)不發(fā)生沖突。即在JTAG工作期間沒(méi)有用戶指定的邏輯電平驅(qū)動(dòng)JTAG信號(hào)或沒(méi)有JTAG信號(hào)以有害的方式驅(qū)動(dòng)用戶指定的邏輯,這里是在用戶I/O與PSD8××端口C之間插入雙向三態(tài)緩沖器,當(dāng)JEN信號(hào)有效時(shí),使緩沖器處于高阻態(tài),從而阻斷用戶I/O端口與PC口JTAG信號(hào)之間的聯(lián)系,用戶可根據(jù)實(shí)際電路工作的需要,選擇合適的三態(tài)緩沖器,以確保得到正確的邏輯狀態(tài)。
  該方案對(duì)芯片的JTAG配置如下:
  (1)在PSDabel中,書寫方式為
  JEN pin 11          ;這里指定PC7用于JEN輸入,也可將JEN連至其它引腳
  jtag sel =! JEN      ?。粌H當(dāng)JEN信號(hào)有效時(shí),才將芯片內(nèi)部JTAG功能連至端口C相應(yīng)引腳
  (2)在PSD configuration中,禁止Enable TMS/TCK/TDI/TDO on PC0/PC1/PC5/PC6,以便于端口C在JTAG無(wú)效時(shí)可用于其它目的。
6 使用JTAG接口在線編程
  WSI的PSDsoft軟件包支持在系統(tǒng)編程,只需將FlashLink編程適配器連接在PC機(jī)并口與用戶JTAG接口之間,即可進(jìn)行實(shí)時(shí)在系統(tǒng)編程,其物理連接如圖4。


  為了實(shí)現(xiàn)在系統(tǒng)編程,在啟動(dòng)PSDsoft軟件后,選擇JTAG Programming進(jìn)入JTAG chain setup對(duì)話窗,在此窗中可完成PSD8××F器件的在系統(tǒng)編程操作,其操作步驟如下:
  (1)在chain Information框的File Name欄下,輸入目標(biāo)文件名(其文件擴(kuò)展名為.obj),也可用鼠標(biāo)點(diǎn)擊按鈕框,以瀏覽并選取相關(guān)的文件,然后打開該文件。如選中JTAG_TEST.obj文件名,并打開。
  (2)在chain Information框的Device Name欄下,選定器件型號(hào),如PSD813F1。
  (3)點(diǎn)擊Add按鈕,則該芯片的JTAG鏈路信息被加入,并在Operation欄下顯示ByPass,表示該鏈路目前正處于“旁路”狀態(tài)。
  (4)將鼠標(biāo)指向剛出現(xiàn)的行上,單擊鼠標(biāo)右鍵以選擇屬性配置Properties,此時(shí)彈出JTAG chain setup Properties對(duì)話窗。
  (5)點(diǎn)擊Set Pin/Flow Control,選擇編程/擦除的流程控制及端口A、B、C、D上電時(shí)的狀態(tài),一般可選option3或option2流程控制。對(duì)JTAG Attributes和user code欄可暫不設(shè)置,采用當(dāng)前的內(nèi)定值即可,并返回至鏈路設(shè)置對(duì)話窗。
  (6)同步驟(4),右擊鼠標(biāo),此時(shí)選program,然后按Go按鈕,即可開始在線編程。
  (7)點(diǎn)擊Create SVF按鈕,保存當(dāng)前的配置信息至擴(kuò)展名為.JCF的文件,以便下次調(diào)用時(shí)通過(guò)JTAG chain File顯示框下的File Name欄,將所配置的信息調(diào)入使用。
  PSD8××F系列芯片為真正的在系統(tǒng)可編程單片機(jī)外圍芯片,包括MCU接口,flash存儲(chǔ)器和E2PROM存儲(chǔ)器,均可通過(guò)JTAG進(jìn)行重新編程。另外,還可由MCU控制器來(lái)編程PSD8××F內(nèi)的Flash和E2PROM存儲(chǔ)器,利用在一個(gè)塊內(nèi)執(zhí)行程序,編程/擦除另一個(gè)塊的方法,也可完成對(duì)整個(gè)片內(nèi)存儲(chǔ)器內(nèi)容的更新。Flash存儲(chǔ)器的8個(gè)塊和E2PROM或第二flash存儲(chǔ)器(取決于所使用器件的型號(hào))的4個(gè)塊均可分別被擦除和編程,從而為用戶的應(yīng)用設(shè)計(jì)帶來(lái)了很大的靈活性。
參考文獻(xiàn)
1 WSI PSD8××F系列數(shù)據(jù)手冊(cè). 武漢力源電子股份有限公司, 1999.2

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。