引論:我們為您整理了1篇硬件設計論文范文,供您借鑒以豐富您的創作。它們是您寫作時的寶貴資源,期望它們能夠激發您的創作靈感,讓您的文章更具深度。
硬件設計論文:硬件產品工藝設計論文
1工藝設計流程及內容
工藝設計團隊在進行工藝過程的設計時一般先需要如下原始資料:產品裝配圖和零件圖,企業的制造相關信息。產品裝配圖有助于工藝設計師了解零件在產品上的位置,所起到的作用以及工作的條件情況;零件圖則表明了該零件的尺寸和精度要求;了解企業的制造相關信息有利于工藝設計師根據生產廠的生產條件,生產廠現有的設備規格,型號及性能,物資供應狀況等信息設計出更加符合本企業的產品工藝設計。這些原始資料是制定工藝設計的基礎。根據工藝設計流程和工藝設計相關內容,可以把工藝設計活動分為四個階段活動。及時階段:工藝性分析階段,工藝設計人員從產品詳細設計人員處獲得新產品的CAD圖,對CAD圖進行工藝性分析,審查圖紙上的視圖、尺寸和技術要求是否完整、統一、正確;找出重要的技術要求結合企業的加工能力分析是否能達到要求,分析零件的結構工藝性,是否存在不合理的結構或者可以改進的地方,與產品設計人員協商。只有對零件的結構工藝性進行充分分析,才能清楚零件的結構特點,加工表面與非加工表面、重要表面與非重要表面、技術要求的高低等直接影響零件加工性的因素,才能制定出最合理的工藝設計方案;第二階段:確定毛坯及其制造方式,通過圖紙的審查之后,設計人員開始確定毛坯及其制造方式,毛坯的確定是工藝設計過程中的重要內容,選擇不同的毛坯就會有不同的加工工藝,采用的設備,工裝也不同從,從而對生成率和成本有影響。因此必須正確的選擇毛坯類型和制造方法,確定毛坯精度及余量,之后繪制毛坯圖;第三階段:擬定產品的工藝路線,工藝路線是指用各種方法將毛坯加工成零件的整個加工路線。在毛坯確定后,根據零件的技術要求、表面形狀、已知的各種機床加工工藝范圍、刀具的用途,就可以初步擬定零件表面的加工方法,工序的先后順序,工序的集中還是分散。工藝路線的擬定不但影響加工質量和生產效率,而且影響工人的勞動強度,影響設備投資,車間面積,生產成本等,因此擬定工藝路線是工藝設計過程中的關鍵階段;第四階段:進行工序詳細設計,工藝路線擬定之后確定各工序的具體內容。包括確定各工序加工余量、計算各工序尺寸及公差,選擇各工序使用的機床與工藝設備,確定各工序的切削用量及時間定額。工序設計應該是在保障質量的前提下,提高生產效率,這個階段最終形成加工工序卡片。當過程流程圖,加工工序卡片都通過審核之后形成將文件,整理文件保存,整個產品開發設計過程中的工藝設計到此結束。之后將文件下發,指導一線工人進行生產。
2工藝設計過程的要素模型
質量管理體系國際標準將過程定義為:一組將輸入轉化為輸出的相互關聯或相互作用的活動[7]。過程方法是指組織內各過程的系統的應用,連同這些過程的識別和相互作用及其管理。過程構成要素模型,如圖2所示。根據過程定義并結合圖2過程構建要素模型可知:一個過程包括輸入、輸出、相關轉換活動、所需資源、過程所處的環境以及檢測評價等六要素。其中輸入是實施過程的開始,而輸出是完成過程的結果,通過使用合理的資源和科學的管理,來對處于一定的環境的過程進行增值轉換活動。為了確保過程的結果質量,對輸入過程的要素、環境要求和輸出的結果(有形的或者無形的)以及在過程中的適當階段應進行必要的監控和評價。工藝設計過程中的轉化活動是由一系列按照時序要求展開的活動,首先是包括審查圖紙、產品結構及技術分析、工藝性評價的工藝性分析活動,之后是選擇毛坯精度確定余量、繪制毛坯圖的確定毛坯及其制造方式活動,然后是劃分加工階段及確定工序順序的擬定產品的工藝路線活動,是確定工序余量計算工序尺寸及公差,選擇切削用量,計算時間額定,選擇加工設備及工藝裝備的詳細的工序設計活動。
3工藝設計過程影響因素分析
工藝設計過程是指工藝設計相關的一切活動,信息,數據,資源的總和。它是由一系列子過程工藝設計活動組成。由于每個過程活動的任務和目標不一樣,如表1所示。使得不同階段的活動所需的資源,輸入輸出,環境等要素也不同。在產品結構性工藝審查,毛坯的選擇,工藝方案設計與評價,工裝設計,材料與工時定額等活動時要綜合考慮企業自身條件,生產設備,生產能力,生產環境,工藝相關經驗,工具相關信息,設備相關參數,加工人員技術水平信息等影響因素,還要結合所處的環境和資源等因素,如環保規則,加工生產條件,安全條件,經濟性等方面。輸出最經濟,最可行,最合理的工藝設計方案等文件內容指導企業生產制造。
4工藝設計缺陷因素結構模型的構建
為了更好的表達缺陷因素與工藝設計過程的關系,避免工藝設計缺陷的產生,并參考多數企業的工藝設計流程,采用過程方法構建的工藝缺陷因素結構關系模型,如圖3所示。從圖3可以看出硬件產品工藝設計過程是一個多層次,多步驟和分階段的設計過程。整個工藝設計過程涉及的影響因素因不同階段而不同,分布于產品工藝設計過程各個階段的活動中。工藝缺陷影響因素結構關系模型不僅表達出工藝設計過程中各設計階段間的邏輯順序關系,理順了工藝設計階段的各個活動的輸入、輸出,而且還清晰地呈現出設計資源、環境等缺陷因素與工藝設計過程的關系,為以后的工藝設計缺陷的預防和控制提供了理論基礎。然而,從整個模型可以看出,影響工藝缺陷的因素比較多,在具體的工藝設計活動中,往往是由于模型中缺陷因素不能合理有效的控制這些因素,增加了工藝設計缺陷的風險。因此,需要進一步定量掌握工藝設計階段的影響因素對工藝設計活動的影響程度,以及因素之間的互相影響關系,以便更好的,有針對性地采取措施來優化工藝設計過程,提高工藝設計質量。
5工藝缺陷影響因素定量化分析
5.1基于DEMATEL方法的工藝設計缺陷因素分析
DEMATEL(decisionmakingtrialandevaluationlaboratory)決策實驗室分析法,是20世紀70年代出現的運用圖論與矩陣論原理進行系統因素分析的方法,它通過系統中各因素之間的邏輯關系構建直接影響矩陣,計算各因素對其他因素的影響度以及被影響度,從而計算各因素的中心度和原因度,然后,根據因素所對應的中心度和原因度,得出該因素所屬的種類(原因性因素還是結果性因素)。DEMATEL方法關注的不僅是因素之間的兩兩直接影響關系,還考慮了所有因素之間的間接影響關系,從而獲取眾多因素中的關鍵因素。采用DEMATEL方法對影響工藝設計缺陷因素進行量化分析,分析過程直觀、明晰,其結果不僅可以表達各缺陷因素之間的量化因果關系,還能根據量化結果對影響因素集進行因果分類和重要程度排序,為缺陷因素控制管理以及識別提供科學依據。
5.2基于DEMATEL方法的工藝設計缺陷因素分析步
驟如下(1)構建各因素間的直接影響矩陣。工藝設計缺陷影響因素表示為Tx,其中x=1,2,3……n,如果因素Ti對因素Tj有影響,則表示為tij。設定影響關系評價標度(如根據較強,強,一般,弱,無五個等級分別賦值),定義:當i=j時,tij=0表示因素自身對自己無影響;當因素Ti對因素Tj影響很弱時,tij=1;當因素Ti對因素Tj影響一般時,tij=2;當因素Ti對因素Tj影響較強時,tij=3;當因素Ti對因素Tj影響很強時,tij=4。構造因素間的影響矩陣G。影響度Hi為綜合影響矩陣D中i行的行和,表示因素Ti對其他所有元素的綜合影響值。被影響度Lj為綜合影響矩陣T中j列的列和,表示Tj受其他所有因素的綜合影響值。中心度Mi為綜合影響矩陣T中第i行的行和與第i列的列和之和,表示該因素在系統中的重要性程度。原因度Ui為綜合影響矩陣T中的第i行之和與第i列之和的差,表示該因素與其他因素的因果邏輯關系程度,若為正,表示該因素對其他因素的影響大,稱為原因因素;若為負,則表示該因素受其他因素的影響大,稱為結果因素。(5)根據第四步計算的結果,以Ui為縱軸,Mi為橫軸,繪制因素的原因—結果圖,得出各缺陷因素的影響度和被影響度排序。
5.3舉例分析
以某雨彈發射架的工藝設計為例,影響雨彈發射架工藝設計缺陷的因素眾多、關系復雜。按上述方法,從與工藝設計有關過程活動的角度來考慮,同時考慮輸入輸出類、資源類、環境類以及監測評價四大類工藝缺陷影響因影響因素體系,構建了雨彈發射架工藝設計缺陷因素表以及按DEMATEL方法步驟計算出綜合數據,如表2所示。(1)缺陷因素的原因—結果圖根據綜合影響關系表,以Ui為縱軸,Mi為橫軸,繪制因素的原因—結果圖,得出各缺陷因素的影響度和被影響度排序。應用SPSS軟件將各雨彈發射架工藝設計影響因素標注在坐標系上,如圖4所示。(2)分析結果由以上結果從整體所有因素可以看到:(1)雨彈發射架工藝設計的原因因素有24個位于0線以上,依次f1、f2、f3、f4、f5、f7、f8、f10、f11、f13、f14、f15、f17、f21、f23、f24、f25、f28、f30、f32、f35、f37、f39、f40,它們是導致雨彈發射架工藝設計缺陷的主導因素。根據20/80原則,影響度大小排序前五位為f10(工藝流程圖)、f13(工序操作指導卡片)、f5(現有生產能力資料)、f7(毛坯方案)、f2(組件明細)、所以,必須采取針對性的措施。(2)結果因素有16個位于0線以下,依次為f6、f9、f12、f16、f18、f19、f20、f22、f26、f27、f29、f31、f33、f34、f36、f38,這些因素受其他因素影響比較大。按被影響度大小排序前三位為f38(成本約束)、f22(毛坯的相關經驗)、f12(工序卡片),它們極易受到其他因素的影響,必須加以重視。(3)從工藝設計缺陷因素原因—結果圖中也可以分別按類中的因素比較,如輸入輸出類缺陷因素(正方形表示)中的f10(工藝流程圖)、f13(工序操作指導卡片)、f5(現有生產能力資料)中心度值較大,是輸入輸出類最可能導致工藝設計缺陷的致因因素;從圖4可以看出輸入輸出類因素相對其他類因素大部分都在0線以上,這說明此類因素中原因因素較多,應該給予一定控制。資源類缺陷因素(圓圈表示)中f22(毛坯的相關經驗)原因度第二小,說明受其他因素影響較大。環境類缺陷因素(正三角形表示)中f38(成本約束)原因度最小,中心度第三大,說明成本約束不僅受其他因素影響大外,自身影響其他因素也大,應給予控制。監測評價類成本約束(倒三角形表示)f39,f40,都在0線以上,說明此類缺陷因素影響其他因素較多。(4)從整體來看缺陷因素f5(現有生產能力資料)、f10(工藝流程圖)、f12(工序卡片)、f13(工序操作指導卡片)、f22(毛坯的相關經驗)、f38(成本約束)相對離散,應重點控制監測。以上結果只是針對雨彈發射架工藝設計,對其他硬件產品工藝設計缺陷因素分析可參照此方法,但分析結果因產品而異。
6結論
采用過程方法,分析了影響硬件產品工藝缺陷的設計各個階段影響因素。從輸入、輸出、所需資源、所處環境、增值轉化活動及監測評價過程六要素系統地構建了工藝缺陷的結構關系模型,彌補了以往產品設計過程中對工藝設計缺陷影響因素關注的不足,直觀展現了影響因素、工藝設計階段與工藝缺陷之間的作用關系。在此基礎上,利用DEMATEL法對工藝缺陷活動的影響因素之間定量化分析,得出各因素的影響大小和因素之間的因果關系,以此來針對性的控制。在雨彈發射架工藝設計中得到應用。研究成果對其他企業預防和控制硬件產品工藝設計缺陷起到重要指導意義。
作者:劉衛東 余為鋒 鄭慧萌 肖承地 單位:南昌大學
硬件設計論文:四旋翼飛行器硬件系統設計論文
近年來,隨著微電子技術、傳感器技術、信號處理技術的迅速發展,以及新能源、新材料的廣泛應用,使四旋翼無人飛行器的控制算法與工程應用得到了優化與創新。國防科技大學、上海交通大學等學者提出了基于Backstepping方法、自抗擾控制、滑膜技術的控制[1,2]。斯坦福大學的STARMAC工程研發的四旋翼飛行器系統具有自主航點跟蹤的能力,具備多飛行器協同飛行水平[3]。麻省理工學院無人機集群健康管理計劃實現了通過地面操作實現多個無人機對動態環境感知、重建并規劃飛行[4]。考慮到四旋翼飛行器具有非線性、多變量、強耦合等特點,要通過無刷電調控制4個無刷電機的轉速來實現由4個輸入量,6個自由度的欠驅動系統的控制[5]。在四旋收稿日期:2014—06—05*基金項目:浙江省科技廳公益項目(2012C21082)翼飛行器控制系統設計的過程中對飛行原理進行定性定量的分析,可以減少飛行實驗平臺的搭建時間,也可為電源模塊、飛行控制模塊的設計提供理論基礎。為實現四旋翼飛行器的自穩控制,通過陀螺儀、大氣壓力傳感器、三軸加速度傳感器采集到的數據對飛行姿態進行解析,但是飛行時所產生的機體震動、溫漂、零漂所帶來的誤差以及外界環境的干擾[6],使位置姿態的估計與飛行高度的保持產生了較大的困難。對此,本文在飛行控制系統設計中對加速度傳感器與陀螺儀融合使用,解析姿態數據的過程中使用卡爾曼濾波算法,不但有效地減弱了陀螺儀的溫漂、零漂現象,還使得多傳感器間的優缺點互補,提高了四旋翼飛行器的控制精度。
1飛行原理與機械結構
四旋翼飛行器的旋翼對稱地安裝在呈十字交叉的支架頂端,位置相鄰的旋翼旋轉方向相反,同一對角線上的旋翼旋轉方向相同,以此確保了飛行系統的扭矩平衡[7],如圖1所示。四旋翼飛行器旋翼的旋轉切角是固定值,因此,要通過調節每個電機的轉速來實現六自由度的飛行姿態控制。增大或減少4個電機的轉速來完成垂直方向上的升降運動,調節1,3旋翼的轉速差來控制仰俯速率和進退運動,調節2,4旋翼的轉速差來控制橫滾速率和傾飛運動,調節2個順時針旋轉電機和2個逆時針旋轉電機的相對速率來控制偏航運動。通過對飛行原理的分析,把可行性、低成本、易維護作為主要考慮因素,設計的樣機如圖2所示。機臂由鏤空工程塑料材料PA66和30%玻璃纖維制成,質量相對較輕,強度大,對稱電機軸距55cm,為保障水平起飛與平穩著陸,四旋翼飛行器底部安裝起落架。電機旋翼等具體參數為:機體質量為857g;較大負載約為300g;機身高度為31cm;飛行時間約為8min。在整機安裝過程中盡量保障重心在機械機構的對稱中心,實際飛行實驗證明了系統動力設備與機械結構的可行性。
2總體結構設計
四旋翼飛行器的硬件系統設計以飛控板為核心,搭載動力設備、電源模塊與遙控模塊。圖3描述了以ATMEGA644P—AU為核心芯片搭載多傳感器的飛行控制系統總體結構框圖,整體系統利用11.1V鋰電池供電,飛控與無刷電調以I2C總線數據傳輸來調節4個電機的轉速;在遙控模塊中,2.4MHz的控制信號通過PPM解碼板與飛控板進行數據傳輸;在多傳感器系統中,大氣壓力感器用于飛行高度檢測,陀螺儀與加速度計的融合使用用于姿態解算。
3電源模塊
四旋翼飛行器由2200MAh,11.1V,持續放電倍率30C鋰電池供電,通過穩壓電路的設計對不同電路進行供電,確保各模塊正常穩定的工作。控制系統設計需要5,3V兩種電平供電,電壓轉換電路如圖4所示。由鋰電池提供的11.1電壓經兩塊7805穩壓芯片后轉為5V電壓,一部分用于飛控板供電,一部分向預留的外部接口供電。經7805輸出的5V電壓經過2個MCP1700T穩壓芯片輸出3V電壓,一部分供給控制系統的數字電路,一部分供給控制系統的模擬電路。330μF/25V電解電容器,10nF/16V鉭電容器,貼片電容器的并聯使用起到了防止電壓抖動與濾波的作用。
4多傳感器控制模塊
為了地控制四旋翼飛行器的飛行姿態,需要在控制系統中加入不同的傳感器,加速度傳感器與三個陀螺儀來測量三軸加速度與角速度,大氣壓力傳感器通過測量起始位置與飛行位置的氣壓差對飛行高度控制,為自主導航功能提供支持。大氣壓力傳感器選擇的是Freescale公司的MPX4250A,在該集成傳感器芯片上,除具有壓阻式壓力傳感器外,還有用作溫度補償的薄膜電阻網絡,測壓范圍為20~250kPa,輸出電壓為0.2~4.9V,工作溫度范圍為-40~+125℃。電路如圖5所示,可以根據壓力的大小,通過控制P_1和P_2選擇不同的放大倍數,提高采樣的精度。LIS344ALH是一種低功耗、高性能、高精度的三軸加速度傳感器,通過模擬輸出為外部電路提供直接測量信號,加速度傳感器的工作電壓為2.2~3.6V,檢測量程可以在±2gn或±4gn間選擇。其中,VREF為通過穩壓芯片MCP1700T轉換為3V的穩定電壓輸入。應用電路如圖6所示,選擇100nF的貼片電容器作為VCC端的解耦電容,在輸出端使用1μF的濾波電容減小噪聲。考慮到振動誤差無法通過加速度傳感器進行補償,因此,陀螺儀選型的過程中把機械性能作為重要的考慮因素,選擇了可以在單芯片上實現完整單軸角速度響應的ADXRS610陀螺儀傳感器。3個ADXRS610陀螺儀分別安裝于垂直于機體坐標系的XYZ軸來實現系統三軸角速度的測量。
5實驗與仿真
四旋翼飛行器在姿態解算時,陀螺儀傳感器直接測量的是角速度,在積分得到角度的過程中隨著時間的增長會產生累計積分誤差,積分誤差產生的原因一方面是積分時間,另一方面,由于自身的機械特性會產生零漂溫漂等現象[8]。在陀螺儀的使用過程中融合加速度傳感器,不僅為陀螺儀提供了參考系,而且使加速度傳感器的靜態性能與陀螺儀良好的動態性能相結合[9],較好地抑制了外界干擾。數據經卡爾曼濾波算法處理后,可有效地降低數據噪聲。圖8為加速度傳感器采樣數據與卡爾曼濾波后的數據比較,可以明顯地看到噪聲信號減小了,但是仍有少量的擾動存在。圖9的曲線表明了陀螺儀采集角速度數據存在零漂、溫漂現象,當確定零漂為0.05°,靜態輸出電壓為2.63V時,從波形圖中可以觀察到通過卡爾曼濾波處理后的積分數據平滑收斂,不但對零點漂移進行了補償,而且對累計積-10-5051015角度/(°)012345時間/s卡爾曼濾波后的數據加速度計采集數據圖8加速度計采樣數據經卡爾曼濾波后的數據圖Fig8DatadiagramofsamplingdatasofaccelerometerprocessedbyKalmanfiltering分誤差,溫漂有較好的抑制作用。-10-5051015角度/(°)012345時間/s卡爾曼濾波后的陀螺儀數據陀螺儀積分數據采集角速度數據。
6結論
本文從四旋翼飛行器的飛行原理入手,整合各個功能模塊并通過對主要傳感器的選型完成四旋翼飛行器控制系統的硬件電路設計,實現了飛行實驗平臺的搭建,多次飛行實驗證明了硬件系統的可行性,達到了預期設計目標。在加速度傳感器與陀螺儀的融合使用過程中,通過卡爾曼濾波算法對數據進行處理,有效地抑制了在硬件電路設計中無法避免的零漂、溫漂等干擾因素,仿真結果證明了該方法的有效性。
作者:李運堂 單位: 中國計量學院機電工程學院
硬件設計論文:靜止無功發生器硬件電路設計論文
一、靜止無功發生器的工作原理與基本結構
靜止無功發生器硬件電路主要包括:整流電路、逆變電路、智能功率模塊IPM的驅動電路、過零檢測電路,電流調理電路,鎖相環電路。逆變電路采用了IPM,該芯片內含驅動電路,報警電路等獨特結構,一方面提高了系統的性;另一方面也避免了保護電路的另外設計,簡化了硬件裝置的設計。主電路主要由整流部分和逆變部分組成。整流部分通過三相不可控整流橋將三相交流電壓轉換為三相直流電壓,在經過電容濾波后得到穩定的直流電壓。逆變部分采用SPWM控制技術來控制IPM內部IGBT的開斷從而獲得所需的補償電流。將整流輸出的直流電逆變轉化為交流電回饋到電網。IPM內含保護電路,當發生故障時,IPM的自保能力使得IGBT的損壞率較低,提高了系統的性。
二、SVG各硬件電路組成
(一)整流電路。整流電路采用三相不可控整流橋,輸出的三相直流電通過電容穩壓、濾波獲得穩定的直流電壓。根據以往的經驗,直流側電容取用4個2200μF/450V的電解電容,兩并兩串接進電路。電路組成如圖2所示。為了避免大電流燒壞整流裝置,電容需要通過一個充電電阻對不可控整流橋的輸出端進行充電,直到充滿在直接接到不可控整流橋的輸出端。另外,為避免故障發生,在不使用整流電路時要對濾波電容進行放電。根據計算的電壓、電流,選用二極管整流模塊6RI30G-160G-120即(30A,1200V)。
(二)IPM及其外圍驅動電路。通過計算智能功率模塊(IPM)參數,選用型號為PM25CLA120的IPM(25A,1200V),內部有IGBT,內含驅動電路。通過資料得知IPM驅動電路的控制電源電壓范圍為13.5V~16.5V,本文選用4路隔離的l5V直流電源。利用DSP發出PWM信號經光耦器件隔離后作為驅動信號對IPM進行控制。
(三)電流調理電路。該電路可將18A的電網電流相量轉換成0~3Vpp的電壓信號并實現過零點檢測功能。該電路與電壓調理電路的組成基本一致,不同之處在于互感器TVA1421-01用作電流互感器,采樣電阻取59Ω。若一次側電流為18A,二次側輸出(-0.5~+0.5)V的正弦波;經放大電路,輸出電壓(-1.5~+1.5)V的正弦波;經過加法電路輸出(0V~3.00V)的電壓信號。同時大于50Hz的正弦信號被濾除。過零比較電路在正弦波的過零時刻輸出下降沿跳變。
(四)鎖相環電路。本文采用了由TI公司生產的CD7H4C4046型鎖相環芯片對電網頻率進行跟蹤,避免了利用固定頻率采樣時產生的誤差。本系統中,鎖相環的輸出信號有兩大作用:一是作為ADC模塊的轉換觸發信號;二是作為事件管理器A(EVA)的時鐘輸入信號。通過鎖相環電路使其產生跟隨電網頻率變化的SP-WM波,從而控制后級逆變器。
三、結語
本文論述了靜止無功發生器的基本原理,實現了SVG的硬件電路設計,主要包括:逆變電路、整流電路的設計及儲能電容的選擇、電流調理電路、鎖相環電路、IPM及其外圍驅動電路,并通過實驗驗證,各級電路的輸出符合實驗要求。
作者:崔瑋瑋韋鈺陳宇晨王凱劉昱彤單位:上海工程技術大學
硬件設計論文:硬件電路設計論文
AD9883A是高性能的三通道視頻ADC可以同時實現對RGB三色信號的實時采樣。系統采用32位浮點芯片ADSP-21160來處理數據,能實時完成伽瑪校正、時基校正,圖像優化等處理,且滿足了系統的各項性能需求。ADSP-21160有6個獨立的高速8位并行鏈路口,分別連接ADSP-21160前端的模數轉換芯片AD9883A和后端的數模轉換芯片ADV7125。ADSP-21160具有超級哈佛結構,支持單指令多操作數(SIMD)模式,采用高效的匯編語言編程能實現對視頻信號的實時處理,不會因為處理數據時間長而出現延遲。
系統硬件原理框圖如圖1所示。系統采用不同的鏈路口完成輸入和輸出,可以避免采用總線可能產生的通道沖突。模擬視頻信號由AD9883A完成模數轉換。AD9883A是個三通道的ADC,因此系統可以完成單色的視頻信號處理,也可以完成彩色的視頻信號處理。采樣所得視頻數字信號經鏈路口輸入到ADSP-21160,完成處理后由不同的鏈路口輸出到ADV7125,完成數模轉換。ADV7125是三通道的DAC,同樣也可以用于處理彩色信號。輸出視頻信號到灰度電壓產生電路,得到驅動液晶屏所需要的驅動電壓。ADSP-21160還有通用可編程I/O標志腳,可用于接受外部控制信號,給系統及其模塊發送控制信息,以使整個系統穩定有序地工作。例如,ADSP-21160為灰度電壓產生電路和液晶屏提供必要的控制信號。另外,系統還設置了一些LED燈,用于直觀的指示系統硬件及DSP內部程序各模塊的工作狀態。
本設計采用從閃存引導的方式加載DSP的程序文件,閃存具有很高的性價比,體積小,功耗低。由于本系統中的閃
存既要存儲DSP程序,又要保存對應于不同的伽瑪值的查找表數據以及部分預設的顯示數據,故選擇ST公司的容量較大的M29W641DL,既能保存程序代碼,又能保存必要的數據信息。
圖2為DSP與閃存的接口電路。因為采用8位閃存引導方式,所以ADSP-21160地址線應使用A20-A0,數據線為D39—32,讀、寫和片選信號分別接到閃存相應引腳上。
系統功能及實現
本設計采用ADSP-21160完成伽瑪校正、時基校正、時鐘發生2S、圖像優化和控制信號的產生等功能。
1伽瑪校正原理
在LCD中,驅動IC/LSI的DAC圖像數據信號線性變化,而液晶的電光特性是非線性,所以要調節對液晶所加的外加電壓,使其滿足液晶顯示亮度的線性,即伽瑪(Y)校正。Y校正是一個實現圖像能夠盡可能真實地反映原物體或原圖像視覺信息的重要過程。利用查找表來補償液晶電光特性的Y校正方法能使液晶顯示系統具有理想的傳輸函數。未校正時液晶顯示系統的輸入輸出曲線呈S形。伽瑪表的作用就是通過對ADC進來的信號進行反S形的非線性變換,最終使液晶顯示系統的輸入輸出曲線滿足實際要求。
LCD的Y校正圖形如圖3所示,左圖是LCD的電光特性曲線圖,右圖是LCD亮度特性曲線和電壓的模數轉換圖。
2伽瑪校正的實現
本文采用較科學的Y校正處理技術,對數字三基色視頻信號分別進行數字Y校正(也可以對模擬三基色視頻信號分別進行Y校正)。在完成v校正的同時,并不損失灰度層次,使全彩色顯示屏圖像更鮮艷,更逼真,更清晰。
某單色光Y調整過程如圖4所示,其他二色與此相同。以單色光v調整為例:ADSP-21160首先根據外部提供的一組控制信號,進行及時次查表,得到Y調整系數(Y值)。然后根據該Y值和輸入的顯示數據進行第二次查表,得到經校正后的顯示數據。及時次查表的Y值是通過外部的控制信號輸入到控制模塊進行及時次查表得到的。8位顯示數據信號可查表數字0~255種灰度級顯示數據(Y校正后)。
3圖像優化
為了提高圖像質量,ADSP-21160內部還設計了圖像效果優化及特技模塊,許多在模擬處理中無法進行的工作可以在數字處理中進行,例如,二維數字濾波、輪廓校正,細節補償頻率微調、的彩色矩陣(線性矩陣電路),黑斑校正、g校正、孔闌校正、增益調整、黑電平控制及雜散光補償、對比度調節等,這些處理都提高了圖像質量。
數字特技是對視頻信號本身進行尺寸、位置變化和亮,色信號變化的數字化處理,它能使圖像變成各種形狀,在屏幕上任意放縮,旋轉等,這些是模擬特技無法實現的。還可以設計濾波器來濾除一些干擾信號和噪聲信號等,使圖像的清晰度更高,更好地再現原始圖像。所有的信號和數據都是存儲在DSP內部,由它內部產生的時鐘模塊和控制模塊實現的。
4時基校正及系統控制
由于ADSP-21160內部各個模塊的功能和處理時間不同,各模塊之間存在一定延時,故需要進行數字時基校正,使存儲器最終輸出的數據能嚴格對齊,而不會出現信息的重疊或不連續。數字時基校正主要用于校正視頻信號中的行,場同步信號的時基誤差。首先,將被校正的信號以它的時基信號為基準寫入存儲器,然后,以TFT-LCD的時基信號為基準讀出,即可得到時基誤差較小的視頻信號。同時它還附加了其他功能,可以對視頻信號的色度、亮度、飽和度進行調節,同時對行、場相位、負載波相位進行調節,并具有時鐘臺標的功能。
控制模塊主要負責控制時序驅動邏輯電路以管理和操作各功能模塊,如顯示數據存儲器的管理和操作,負責將顯示數據和指令參數傳輸到位,負責將參數寄存器的內容轉換成相應的顯示功能邏輯。內部的信號發生器產生控制信號及地址,根據水平和垂直顯示及消隱計數器的值產生控制信號。此外,它還可以接收外部控制信號,以實現人機交互,從而使該電路的功能更加強大,更加靈活。此外,ADSP21160的內部還設計了I2C總線控制模塊,模擬FC總線的工作,為外部的具有I2C接口的器件提供SCLK(串行時鐘信號)和SDA(雙向串行數據信號)。模擬I2C工作狀態如圖5和圖6所示。
系統軟件實現
在軟件設計如圖7所示,采用Matlab軟件計算出校正值,并以查找表的文件形式存儲,供時序的調用。系統上電
開始,首先要完成ADSP-21160的一系列寄存器的設置,以使DSP能正確有效地工作。當ADSP-21160接收到有效的視頻信號以后,根據外部控制信息確定Y值。為適應不同TFT-LCD屏對視頻信號的顯示,系統可以通過調整Y值,以調節顯示效果到。再如圖4所示,對先前預存的文件進行查表,得到所需的矯正后的值,然后暫存等待下一步處理。系統還可以根據視頻信號特點和用戶需要完成一些圖像的優化和特技,如二維數字濾波、輪廓校正、增益調整、對比度調節等。這些操作可由用戶需求選擇性使用。利用ADSP-21160還可以實現圖像翻轉、停滯等特技。進行數字時基校正,主要用于校正視頻信號中的行、場同步信號的時基誤差,使存儲器最終輸出的數據能嚴格對齊,而不會出現信息的重疊或不連續。除了以上所述的主要功能以外,ADSP-21160還根據時序控制信號,為灰度電壓產生電路和TFT-LCD屏提供必要的控制信號。另外,ADSP-21160還能設置驅動通用I/O腳配置的LED燈,顯示系統工作狀態。
結束語
本文介紹了基于ADSP-21160的液晶驅動電路設計。該驅動電路能完成伽馬校正、圖像優化及時基校正等功能,并能提供具有足夠驅動能力的時序和邏輯控制信號,能驅動大部分的TFT—LCD。用ADSP-21160設計驅動電路實時性好、通用性強、速度快且高效,而且還能在ADSP-21160中嵌入其他功能模塊控制,增強系統的功能。這樣不僅充分利用了ADSP-21160資源,又節省了外部資源,簡化了硬件電路的設計。作者將SONY的LCX029CPT顯示屏應用在本文所設計的驅動電路上,顯示出質量很高的圖像,因此該設計滿足驅動液晶顯示器的要求。
硬件設計論文:變壓器冷卻控制系統控制器硬件設計論文
摘要:變壓器的冷卻裝置是將變壓器在運行中由損耗所產生的熱量散發出去,以保障變壓器可以安全正常的運行。本文所進行的主要核心部分就是對控制模塊進行的設計,其中包括了可以對主變壓器風扇投入與切除的溫度范圍進行自行設定,也可以按照用戶的要求而變化。
關鍵詞:變壓器;冷卻控制系統;硬件
1變壓器冷卻控制系統控制模塊的設計總體思想
本文所進行的就是對變壓器冷卻控制系統控制器模塊進行設計,其中包括了可以對主變壓器風扇投入與切除的溫度范圍進行自行設定,也可以按照用戶的要求而變化。在傳統控制方式中,風扇投切的溫度限制值是不能改變的,此外,風扇電機的啟動和停止溫度有一余量,不像傳統的控制方式中是一個定值,避免了頻繁啟動的缺陷,此外還有運行、故障保護及報警等信號的顯示及其與控制中心或調度中心的通訊,上傳這些信息,如變壓器油溫、風扇運行狀態有無故障等。至于風扇的分組投切設置是為了節約電能,具有一定的經濟意義,但這個分組數不宜過多,以免控制復雜,且散熱效果不佳。
控制器主要由AT89CS1單片機、A/D轉換器、鍵盤控制芯片,輸出模塊、通訊模塊以及自動復位電路等組成,其中單片機是控制器的核心,AID轉換器是把輸入信號轉換為數字信號。
2變壓器風扇控制系統的硬件接線
基于以上的要求,我們設計的風扇控制器的硬件線路圖如下頁圖1所示。變壓器風扇控制中對控制模塊進行改進是本文研究的重點,其中包括主要芯片的選用以及一些抗干擾元件的使用。所以在本章節中,我們重點將要介紹變壓器風扇冷卻控制模塊中的主要硬件芯片的作用、選用以及它們之間的連接力一法。
(1)單片機AT89C51(如圖1)。
AT89C51是Atmel公司生產的一種低功耗,高性能的8位單片機,具有8k的flash可編程只讀存儲器,它采用Atmel公司的高密度不易丟失的存儲器技術,并且和工業標準的80c51和80c52的指令集合插腳引線兼容,其集成的flash允許可編程存儲器可以在系統或者通用的非易失性的存儲器編程中進行重新編程。AT89C51集成了一個8位的CPU,8K的flash。256字節的EDAM,32位的I/0總線。三個16字節的定時器/計數器,兩級六中段結構,一個全雙工的串行口,振蕩器及時鐘電路。AT89C51是完成系統的數據處理和系統控制的核心,所有其它器件都受其控制或為其服務。
在本文中,經過TLC1543A/D轉換器后輸出的數字量輸入到AT89C51單片機中,同時在進行了溫度參數的設置以后,進行它的輸出控制,其中包括了變壓器的溫度顯示、狀態顯示、以及聲音報警設備等等,也就是我們所研究的變壓器冷卻控制系統的核心部分。
(2)變壓器的溫度采集及溫度處理模塊。在變壓器的風扇冷卻自動控制系統中,及時步進行的就是對變壓器上層油溫進行的溫度采集工作。變壓器的溫度采集是由變壓器的溫度控制器來實現的,其中包括鉑電極、傳感器以及變送器。經過溫度控制器輸出的信號進入變送器,變送器送出一個4一20毫安的電流信號,然后將此電流信號通過控制芯片上的電阻元件實現電流電壓信號的轉換,轉換后的電壓是在0.4一2(伏特)之間,然后將此電壓信號輸入到TLC1543數模轉換器,進行信號處理。變送器輸出信號有電流和電壓信號兩種,考慮到變壓器安裝的位置(室外)距本控制裝置(室內)有一定的距離,電流信號不易損失,故選擇了4一20毫安的電流信號。(3)11通道10位串行A/D轉換器丁LC1543。
TLC1543A/D轉換器是美國TI公司生產的眾多串行A/D轉換器中的一種,它具有輸入通道多、轉換精度高、傳輸速度快、使用靈活和價格低廉等優點,是一種高性價的模數轉換器。TLC1543是CMOS,10位開關電容逐次逼近模數轉換器。它有三個輸入端和一個3態輸出端:片選(CS),輸入/輸出時鐘(I/0CLOCK),地址輸入和數據輸出(DATAOUT)。這樣通過一個直接的四線接口與卞處理器或外圍的串行口通訊。片內還有14通道多路選擇器可以選擇11個輸入中的任何一個三個內部自測試(self-test)電壓中的一個。
(4)BC7281128段LED顯示及64鍵鍵盤控制芯片。
BC7281是16位LED數碼管顯示器鍵盤接口專用控制芯片,通過外接移位寄存器(典型芯片如74HC164,74LS595等),最多可以控制16位數碼管顯示或128支獨立的LED。BC7281的驅動輸出極性及輸出時序均為軟件可控,從而可以和各種外部電路配合,適用于任何尺寸的數碼管。
BC7281各位可獨立按不同的譯碼方式譯碼或不譯碼顯示,譯碼方式顯示時小數點不受譯碼影響,使用方便;BC7281內部還有一閃爍速度控制寄存器,使用者可隨時改變閃爍速度。
BC7281芯片可以連接最多64鍵C8*8)的鍵盤矩陣,內部具有去抖動功能。它的鍵盤具有兩種工作模式,BC7281內部共有26個寄存器,包括16個顯示寄存器和10個特殊(控制)寄存器,所有的操作均通過對這26個寄存器的訪問完成。
BC7281采用高速二線接口與MCU進行通訊,只占用很少的I/O資源和主機時間。
BC7281在本系統中主要用于驅動變壓器溫度顯示的LED以及顯示風扇運行狀態的指示燈。
前已提及,BC7281芯片內部共有26個寄存器,包括16個顯示寄存器和10個特殊功能寄存器,共用一段連續的地址,其地址范圍是OOH-19H,其中OOH-OFH為顯示寄存器,其余為特殊寄存器。
(5)使用MAX232實現與PC機的通訊。
①MAX232芯片簡介
MAX232芯片是1VIAX工M公司生產的低功耗、單電源雙RS232發送/接收器,適用于各種E工A-232E和V.28;V.24的通信接口,1VIAX232芯片內部有一個電源電壓變換器,可以把輸入的+5V電源變換成RS-2320輸出電平所需±10V電壓,所以采用此芯片接口的串行通信系統只要單一的+5V電源就可以。
我們的設計電路中選用其中一路發送/接收,RlOUT接MCS一51的RXD,T1工N接MCS一51的TXD,TlOUT接PC機的RD,Rl工N接PC機的TD1。因為MAX232具有驅動能力,所以不需要外加驅動電路。
系統中使用了此技術之后就實現了變壓器風扇冷卻系統的遠程控制,工作人員可以在控制室對冷卻系統進行控制,可以達到方便、、快捷的日的,這也是我們對傳統的風扇冷卻控制系統而做的一個重要的改進。
②串行通訊
在此實現中,我們必須要對MCS-51串行接日和PC機串行接日的串行通訊要有一定的了解,串行通信是指通信的發送方和接收方之間數據信息的傳輸是在單根數據線上,以每次一個二進制位移動的,它的優點是只需一對傳輸線進行傳送信息,囚此其成本低,適用于遠即離通信;它的缺點是傳送速度低;串行通信有異步通信和同步通信兩種基本通信方一式,同步通信適用于傳送速度高的情況,其硬件復雜;而異步通信應用于傳送速度在50到19200波特之間,是比較常用的傳送方式,本文中使用的就是異步通訊方式。
(6)“看門狗”電路DS1232
在系統運行的過程中,為了避免因干擾或其他意外出現的運行中的死機的情況,“看門狗電路”DS1232會自動進行復位,并且能夠重讀EEPROM中的設置,以保障系統可以安全正常的運行。
美國Dallas公司生產的“看門狗”(WATCHDOG)集成電路DS1232具有性能、使用簡單、價格低廉的特點,應用在單片機產品中能夠很好的提高硬件的抗干擾能力。
DS1232具有以下特點:
①具有8腳DIP封裝和16腳SOIC貼片封裝兩種形式,可以滿足不同設計要求;
②在微處理器失控狀態卜可以停止和重新啟動微處理器;
③微處理器掉電或電源電壓瞬變時可自動復位微處理器;
④的5%或10%電源供電監視;
在本變壓器冷卻控制系統中,DS1232作為一定時器來起到自動復位的作用,在DS1232內部集成有看門狗定時器,當DS1232的ST端在設置的周期時間內沒有有效信號到來時,DS1232的RSR端將產生復位信號以強迫微處理器復位。這一功能對于防止由于干擾等原因造成的微處理器死機是非常有效的,因為看門狗定時器的定時時間由DS1232的TD引腳確定,在本設計中,我們將其TD引腳與地相接,所以定時時間一般取為150ms。
3結論
本裝置實現了通過單片機自動控制冷卻器的各種運行狀態并能監測變壓器的油溫和冷卻器的各種運行、故障狀態,顯示了比傳統的控制模式的優越性。(1)能夠對變壓器油溫進行監測與控制;(2)實現了變壓器冷卻器依據不同油溫的分組投切,延長了冷卻器的使用壽命,有較好的經濟意義;(3)實現了冷卻系統的各種狀況,如油溫、風扇投切和故障等信息的上傳,便于值班員、調度員隨時掌握情況。
由于固態繼電器實現了變壓器的無觸點控制,解決了傳統的控制回路的弊端,同時此控制裝置具有電機回路斷相與過載的保護功能。由于使用了單片機,因而具有一定的智能特征,實現了油溫、風扇的投入、退出和故障等信號的顯示以及上傳等。通過實際運行表明,該裝置的研制是比較成功的。但今后,我們還應該對固態繼電器本身的保護進行一些研究,以免主回路因電流過大而造成固態繼電器的損壞,以使變壓器風扇冷卻控制回路更加完善。
參考文獻
1張建國,索南加樂.具有溫度預測的變壓器油溫測控的研制[R],西安交通大學碩士學位論文,2001.
2王中,張保會,顧平安.主變壓器強油循環冷卻系統通風控制回路的改造與完善[R],西安交通大學碩士學位論文,2005.
硬件設計論文:PCI加密卡硬件設計分析論文
摘要:介紹基于PCI總線加密卡的硬件組成部分。該加密卡汲取了現代先進的加密思想,實現了高強度加密功能。
關鍵詞:加密卡PCI總線PCI9052ISP單片機
加密是對軟件進行保護的一種有效手段。從加密技術的發展歷程及發展趨勢來看,加密可大體劃分為軟加密和硬加密兩種。硬加密的典型產品是使用并口的軟件狗,它的缺點是端口地址固定,容易被邏輯分析儀或仿真軟件跟蹤,并且還占用了有限的并口資源。筆者設計的基于PCI總線的加密卡具有以下幾個優點:及時,PCI總線是當今計算機使用的主流標準總線,具有豐富的硬件資源,因此不易受資源環境限制;第二,PCI設備配置空間采用自動配置方式,反跟蹤能力強;第三,在PCI擴展卡上易于實現先進的加密算法。
1總體設計方案
基于PCI總線的加密卡插在計算機的PCI總線插槽上(5V32Bit連接器),主處理器通過與加密卡通信,獲取密鑰及其它數據。加密卡的工作過程和工作原理是:系統動態分配給加密卡4字節I/O空間,被加密軟件通過驅動程序訪問該I/O空間;加密卡收到訪問命令后,通過PCI專用接口芯片,把PCI總線訪問時序轉化為本地總線訪問時序;本地總線信號經過轉換處理后,與單片機相連,按約定的通信協議與單片機通信。上述過程實現了主處理器對加密卡的訪問操作。
圖1硬件總體設計方案
下面以主處理器對加密卡進行寫操作為例,闡述具體的實現方法。加密卡采用PLX公司的PCI9052作為PCI總線周期與本地總線周期進行轉換的接口芯片。PCI9052作為PCI總線從設備,又充當了本地總線主設備,對其配置可通過EEPROM93LC46B實現。主處理器對加密卡進行寫操作,PCI9052把PCI總線時序轉化為8位本地數據總線寫操作。這8位本地數據總線通過Lattice公司的ispLSI2064與單片機AT89C51的P0口相連,2064完成PCI9052本地總線與AT89C51之間的數據傳輸、握手信號轉換控制等功能。2064對8位本地數據總線寫操作進行處理,產生中斷信號。該中斷信號與AT89C51的INT0#相連,使AT89C51產生中斷。AT89C51產生中斷后,檢測與其P2口相連的本地讀寫信號WR#、RD#、LW/R#。當WR#為低電平、LW/R#為高電平時,AT89C51判斷目前的操作是否為寫操作。確認是寫操作后,AT89C51把P0口上的8位數據取下來,然后用RDY51#(經2064轉換后)通知PCI9052的LRDYi#,表明自己已經把當前的8位數據取走,可以繼續下面的工作。PCI9052收到LRDYi#有效后,結束當前的8位數據寫操作。PCI總線的一次32位數據寫操作,PCI9052本地總線需要四次8位數據寫操作,通過字節使能LBE1#、LBE0#區分當前的8位數據是第幾個字節有效。
加密卡硬件總體設計方案如圖1所示。
2硬件各組成部分說明
2.1PCI9052部分
PCI9052是PCI總線專用接口芯片,采用CMOS工藝,160引腳PQFP封裝,符合PCI總線標準2.1版。其總線接口信號與PCI總線信號位置對應,因此可直接相連,易于PCB實現。PCI9052的較大數據傳輸速率可達132MB/s;本地時鐘較高可至40MHz,且無需與PCI時鐘同步;可通過兩個本地中斷輸入或軟件設置產生PCI中斷。它支持三種本地總線工作模式,實際設計采用地址和數據線非復用、8位本地數據總線、非ISA模式。
PCI9052內部有一個64字節PCI配置空間,一個84字節本地配置寄存器組。對PCI9052的配置可由主機或符合3線協議的串行EEPROM完成(注:ISA模式必須由串行EEPROM完成配置)。實際設計采用Microchip公司的93LC46B存放配置信息。系統初始化時,自動將配置信息裝入PCI9052,約需780μs。如果EEPROM不存在或檢測到空設備,則PCI9052設置為默認值。
在設計中,EEPROM用到的配置項目有:設備ID:9050;廠商ID:10B5;分類代碼:0780;子系統ID:9050;子系統廠商ID:10B5;支持INTA#中斷,PCI3C:0100;分配4字節本地I/O空間:(例LAS0RR)0FFFFFFD;其它本地地址空間未使用:00000000;4字節本地I/O空間基地址(模4對齊):(LAS0BA)01200001(僅為示例);4字節本地I/O空間描述符:(LAS0BRD)00000022(非猝發、LRDYi#輸入使能、BTERM#輸入不使能、不預取、各內部等待狀態數均為0、8位本地數據總線寬度、小Endian模式);中斷控制/狀態,Local4C:00000143(LINTi1使能、LINTi1邊沿觸發中斷選擇使能、LINTi2不使能、PCI中斷使能、非軟件中斷、ISA接口模式不使能);UserI/O、從設備應答、串行EEPROM、初始化控制,Local50:00024492。有兩點要注意:一是設計中采用PLX公司推薦使用的串行EEPROM93LC46B按字(16bit)為單位組織;二是EEPROM開發器編輯輸入與手工書寫的順序對應關系,以廠商ID:10B5為例,在開發器編輯輸入的是b510,而不是10B5。
PCI9052本地信號的含義是:LAD[7..0]:本地8位數據總線;WR#:寫有效;RD#:讀有效;LW/R#:數據傳輸方向,高電平為寫操作,低電平為讀操作;LBE1#和LBE0#:字節使能,表明當前LAD[7..0]上的數據是第幾個字節(0到3);BLAST#:PCI9052寫數據準備好或讀數據已取走;LRDYi#:外部設備(此設計指單片機)已把PCI9052寫操作數據取走或讀操作數據準備好;LINTi1:外部設備通過LINTi1向主機發送INTA#中斷,當單片機驗證密鑰正確,向主處理器發送請求,表明可以開始從中讀取相關數據。
需注意的是,PCI9052在使用時,某些引腳要加阻值為1kΩ~10kΩ的下拉或上拉電阻。因此在實現時,給MODE、LHOLD、LINTi1引腳加下拉電阻,CHRDY、EEDO、LRDYi#引腳加上拉電阻。
圖2PCI9052本地寫時序
以主處理器向單片機寫數據為例,圖2給出了PCI9052的本地寫時序。
2.2ispLSI2064部分
為降低數據被解析的風險,應盡量減少使用分離元件。因此在設計中選用了Lattice公司的CPLDispLSI2064。該芯片采用EECMOS技術,100引腳TQFP封裝,擁有2000個PLD門,64個I/O引腳另加4個專用輸入,64個寄存器,3個全局時鐘,TTL兼容的輸入輸出信號。2064具有在系統可編程ISP(In-SystemProgrammable)功能,可方便實現硬件重構,易于升級,降低了設計風險,并且安全性能高。PCI9052與單片機之間的8位數據線進行雙向數據傳輸,不能簡單地直接相連,需要進行傳輸方向控制和數據隔離。故用2064作為PCI9052本地信號與單片機信號進行信號傳遞的接口,圖3給出了8位數據信號雙向傳輸的原理圖。2064的開發軟件ispDesignExpert8.2版支持VHDL、VerilogHDL、Abel等語言及原理圖輸入,且通過專用下載電纜可把最終生成的JEDEC文件寫入2064,實現編程。在設計時采用了原理圖輸入的方法。
原理圖中用到的BI18的功能描述為:當OE=1時,XB為輸出,A為輸入,即XB=A;當OE=0時,XB為輸入,Z為輸出,即Z=XB。FD28的功能描述為:8位D觸發器(帶異步清除)。結合PCI9052本地讀寫時序,可以分析得出,在進行讀寫操作時,圖3實現了LAD[7..0]與D[7..0]之間正常的數據傳輸;在非讀寫時,雙方數據處于正常隔離狀態。
2.3單片機AT89C51部分
單片機采用ATMEL公司的AT89C51。這是一個8位微處理器,采用CMOS工藝,40引腳DIP封裝。它含有4K字節Flash和128字節RAM,且自身具有加密保護功能。單片機不進行外部存儲器和RAM的擴展,程序存儲和運行均在片內完成,有效地保障了加密強度。
圖3LAD[7..0]與D[7..0]之間的數據傳輸
單片機的P0口接圖3的D[7..0],并加10kΩ的上拉排阻。WR#、RD#、W/R#、BE1#、BE0#作為單片機輸入信號接P2口。PCI9052寫數據準備好或讀數據已取走信號REQ9052#作為單片機輸入信號接P3.2(INT0#);寫數據單片機已取走或讀數據單片機準備好信號RDY51#作為單片機輸出信號接P1.0;接P1.1的OVER51#作為單片機輸出信號,經2064接PCI9052的LINTi1,通過LINTi1向主機發送INTA#中斷請求。
基于PCI總線的加密卡,依照PCI總線標準2.1版,通過動態分配4字節I/O空間,實現主處理器與卡上單片機之間的握手通信。被加密軟件通過訪問加密卡,獲取軟件正常執行的相關權限。在加密卡不存在的情況下,被加密軟件因得不到相關授權而無法運行,從而實現了加密功能。在單片機的存儲器里,除了存放密鑰之外,設計者還可以把被加密軟件的部分程序、算法或常數寫入單片機的存儲器,在加密卡不存在的情況下,被加密軟件的功能是不完整的,從根本上防止了軟件破解。
硬件設計論文:壓縮卡軟硬件設計管理論文
摘要:隨著計算機技術、多媒體和數據通信技術的發展,計算機視頻的應用越來越廣。但視頻通常由于數據量巨大,應用受到不少限制。為解決視頻數據的存儲和傳輸,途徑就是對視頻數據進行壓縮。結合目前實際需求,給出了一種基于PCI總線的MPEG-I壓縮卡的軟件、硬件實現方案。
關鍵詞:PCI總線WDM驅動MPEG-1壓縮卡
隨著計算機技術、多媒體和數據通信技術的高速發展,人們生活水平的提高,對計算機視頻的需求和應用越來越多,如視頻監控、視頻會議、計算機視覺等。計算機視頻提供給人的信息很多,但是視頻的數據量很大,不利于傳輸和存儲,使其應用受到不少限制。為解決視頻數據的存儲和傳輸,途徑就是對視頻數據進行壓縮。
目前常見的視頻壓縮方法有MPEG-1、MPEG-2、MPEG-4、H.261、H.263等。考慮壓縮技術的成熟度和該壓縮卡的主要用途,本文采用MPEG-1作為壓縮標準,研制了基于PCI總線的MPEG-I壓縮卡。該卡適用于視頻監控、視頻會議等多種應用場合。該卡加上一臺主機、攝像頭和軟件可構成一個完整的視頻采集壓縮系統。
1系統特點
(1)支持BNC、RCA、S-VIDEO視頻接口;
(2)支持PAL和NTSC制式;
(3)可對視頻實時預覽,較大分辨率可達720×576×32;
(4)可對聲音進行同步監聽;
(5)可對音、視頻信號進行MPEG-I壓縮,生成MPEG文件和VCD文件;
(6)用戶可編程MPEG-1編碼設置,可支持CBR和VBR;
(7)可一機多卡同時工作;
(8)可從動態影像中捕獲單幀,生成JPG和BMP文件;
(9)支持Win98/Win2000。
2系統硬件設計
2.1系統組成
該系統主要由視頻解碼、音頻解碼、壓縮核心和PCI接口等組成,其總體框圖如圖1所示。
2.2視頻解碼設計
視頻解碼部分主要完成模擬視頻到數字視頻的處理,以供后面預覽、壓縮用。視頻解碼芯片常用的有SAA7110、SAA7113和SAA7114等。本方案中采用Philips公司的SAA7114。SAA7114有六路模擬輸入,內置模擬源選擇器可構成6×CVBS、2×Y/C2×CVBS、1×Y/C和4×CVBS;兩路模擬預處理通道,內有抗混迭濾波器;CVBS或Y/C通道含可編程靜態增益控制或自動增益控制功能,對CVBS、Y/C通道可進行自動鉗位控制;能自動檢測50Hz/60Hz場頻,并可自動在PAL和NTSC制式進行切換;能將PAL、NTSC和SECAM信號解碼及模數變換得到符合ITU-601/ITU-656的數字電視信號。該芯片是目前視頻解碼芯片中接收視頻源的寬容性及視頻解碼圖像質量好的一種。其通過I2C接口,進行初始化設置。
本系統采用ImagePort作為數字視頻輸出端口,數字視頻格式采用ITU-656AI11(PIN20)作為BNC/RCA輸入腳,AI12、AI22作為S-VIDEO輸入腳。
圖2SAA7146A方框圖
2.3音頻解碼設計
音頻解碼的數據一部分提供給SAA7146A作聲音監聽用,另一部分用于壓縮。考慮到成本,本系統采用BURR-BROWN公司的PCM1800E。該芯片是雙聲道單片ΔΣ型20位ADC單+5V電源供電,信噪比為95dB(典型值),動態范圍95dB(典型值),內嵌高通濾波器,支持四種接口方式和四種數據格式。其采樣頻率為32kHz、44.1kHz和48kHz可選。
本系統采用從模式,20位I2S數據格式。主時鐘由SAA7114提供。
2.4MPEG-1壓縮部分設計
本系統中MPEG-I壓縮芯片選用ZAPEX公司的SZ1510。該芯片基于TI的TMS320C54xDSP內核,能對ITU-601/ITU-656數字電視信號和PCM音頻流進行MPEG-1實時壓縮,可生成多種流,如音頻基本流、視頻基本流、音視頻復合流等。
該芯片外接27MHz晶振,可支持多種主機接口,可工作在復用或非復用、Intel或Motorola類型總線。通過輸入管腳HCONFIG1:0和SysConfig寄存器可設置成六種總線接口類型:Intel8051類型的數據/地址復用的8位總線、Motorola類型的數據/地址復用的8位總線、Intel8051類型的非復用的8位數據總線、Motorola類型的非復用的8位數據總線、Intel8051類型的非復用的16位數據總線和Motorola類型的非復用的16位數據總線。支持I2S聲音接口。
本系統中采用Intel8051類型的非復用的16位數據總線。
2.5PCI接口部分設計
本系統中PCI接口芯片選用SAA7146A,該芯片并不是通用的PCI接口芯片,而是一個多媒體橋(MultimediaBridge)。方框圖如圖2。該芯片符合PCI2.1規范。它有八個DMA通道,三個視頻,四個音頻,一個DEBI(DataExpansionBusInterface)。還具有兩路視頻通道,可對視頻數據進行縮放,一路可無級縮放HPS(HighPerformaceScaler,其縱向可達1:1024、橫向可達1:256;另一路有級縮放BRS(BinaryRatioScaler支持CIF和QCIF格式。
音頻接口以I2S為基礎,通過編程控制以支持MSB-FIRST的不同格式及不同的時序格式。
本系統中該部分主要實現功能如下:
(1)通過DEBI接收SZ1510產生的MPEG-1數據,傳輸到內存;
(2)通過視頻接口,接收SAA7114輸出的視頻解碼信號,并進行亮度、色度、飽和度的控制,并實現無級縮放功能實現視頻預覽功能;
(3)通過音頻接口,接收PCM1800E輸出的PCM編碼信號,傳輸到內存,實現聲音監聽功能;
(4)提供符合PCI2.1規范的接口,將板上數據傳輸到主機內存。
3軟件設計
軟件設計主要包括驅動程序設計和應用層的API設計。驅動程序主要負責與硬件打交道,應用層API主要負責與驅動程序接口。由于設計了應用層的API,應用程序可很容易在上面進行開發。
3.1驅動程序設計
為了支持Windows2000和Windows98采用WDMWindowsDriverModel驅動程序。WDM作為微軟的近期驅動程序模型與傳統的Win3.x和Win95使用的VxD驅動不同。WDM可支持電源管理、自動配置和熱插拔等。WDM驅動的設計可以采用DriverStudioDS、Windriver、DDKDriverDeviceKit等。本系統驅動采用Windows2000DDK借助VC6.0設計。
3.1.1MPEG-I壓縮部分
在驅動中,重置SZ1510后,就可以裝載相應工作模式的微碼;根據需要,設置好相應寄存值后就可以啟動SZ1510對視頻數據進行MPEG-1編碼。每當產生的壓縮數據超過SZ1510內部的FIFO門限后,SZ1510產生相應中斷,內核調用中斷例程,在中斷例程中調用中斷延遲例程DPC,在中斷延遲例程中接收產生的壓縮數據。SZ1510提供兩種方式提取數據,一種用I2C總線接口方式,另一種用DEBI方式。
在本系統中,采用DEBI進行壓縮數據的傳輸。考慮到壓縮數據產生的速度,本系統開了32頁大小的緩沖區,在中斷延遲例程中填充該緩沖區。每當填滿8頁大小后,產生一個事件通知應用層進行數據讀取。通過這種方式,可以避免壓縮數據的丟失。
其流程圖如圖3所示。
在驅動中,壓縮數據的提取方式將極大地影響生成MPEG文件的質量。如果處理不當,將導致馬賽克、跳幀等現象。
3.1.2驅動程序中用戶緩沖區的訪問
驅動程序訪問用戶內存主要通過緩沖I/O和直接I/O。緩沖I/OI/O管理器創建一個內核模式拷貝緩沖區,并把用戶緩沖區的內容拷貝到該緩沖區中,并在IRP首部的AssociateIrp.SystemBuffer域中存儲該非分頁內存地址。驅動程序可簡單地讀寫該塊內存。直接I/O,I/O管理器為輸入數據提供一個內核模式拷貝緩沖區,對輸出數據提供一個內存描述符(MDL)。為了使用緩沖I/O或直接I/O在創建設備時,必須設置設備對象的Flags域中的DO_BUFFERED_IO標志位來使用緩沖I/O或設置DO_DIRECT_IO標志位來使用直接I/O。
在本驅動中由于緩沖I/O和直接I/O都被使用,DO_BUFFERED_IO標志位和DO_DIRECT_IO標志位都被設置。
在定義IOCTL碼中,對緩沖I/O使用METHOD_BUFFEERED對直接I/O使用METHOD_OUT_DIRECT。
3.2應用層API設計
應用層對驅動程序的訪問通過調用Win32I/O函數(如ReadFile、WriteFile和DeviceIoControl)訪問。當應用層調用Win32I/O函數以請求I/O后,該請求由內核的I/O系統服務接收,I/O管理器對該請求構造合適的IRP包,并將其傳給驅動程序棧,IRP在棧中進行傳遞,傳到驅動程序進行處理,并將結果返回給應用程序。
通過應用層API,在其上面可進一步開發各類應用程序。
本系統達到了預期的要求,能夠在音視頻采集過程中對視頻、音頻進行實時預覽、監聽。壓縮生成的文件可在標準媒體播放器上播放,并可對生成的VCD文件進行刻錄,然后由VCD機播放.
硬件設計論文:硬件地址識別設計分析論文
摘要:在通信和控制系統中,常使用異步串行通信控制器(UART)實現系統輔助信息的傳輸。為實現多點通信,通常用軟件識別發往本站點或其它站點的數據,這會加大CPU的開銷。介紹了一種基于FPGA的UARTIP,由硬件實現多點通信時的數據過濾功能,降低了CPU的負擔,提高了系統性能。
關鍵詞:UART多點通信FPGA知識產權
在通信和控制系統中,常使用異步串行通信實現多塊單板之間的輔助通信,各個單板通過總線方式連接。為了實現點對點通信,需要由軟件定義一套較復雜的通信協議,過濾往來的數據,消耗了CPU較多的時間。89C51單片機有一種九位通信方式,采用一位地址位來實現通信對象的選擇,只對發往本地址的地址發生中斷進而接收數據。通用的UART芯片如16C550和89C51等構成總線式的通信系統時,需要由CPU通過軟件處理接收到的地址和產生九位的數據。本文介紹的UART采用VerilogHDL硬件描述語言設計,可以用FPGA實現,可應用于SoC設計中。其主要特性如下:
·全硬件地址識別,過濾數據不需要CPU的介入;支持一個特殊地址,可用于監聽和廣播。
·支持查詢和中斷兩種工作方式,中斷可編程。
·接收和發送通路分別有128ByteFIFO,每個接收字節附帶狀態信息。
·設計采用VerilogHDL語言,全同步接口,可移植性好。
·支持自環測試功能。
·波特率可以編程,支持八位或者九位兩種數據格式。
設計的UART的九位串行數據格式如圖1所示。在空閑狀態,數據線處于高電平狀態。總線由高到低跳變,寬度為一個波特率時間的負脈沖為開始位,然后是8bit的數據位。數據位后面是lbit的地址信息位。如果此位是1,表示發送的字節是地址信息;如果此位是0,傳輸的是正常數據信息。地址指示位后是串行數據的停止位。
1UART設計
UART采用模塊化、層次化的設計思想,全部設計都采用VerilogHDL實現,其組成框圖如圖2所示。整個UARTIP由串行數據發送模塊、串行數據接收模塊、接收地址識別模塊、接收和發送HIFO、總線接口邏輯、寄存器和控制邏輯構成。串行發送模塊和接收完成并/串及串/并的轉換,接收地址的識別由接收地址識別模塊完成。發送和接收HIFO用于緩存發送和接收的數據。總線接口邏輯用于連接UARTIP內部總線和HOST接口。寄存器和控制邏輯實現UARTIP內部所有數據的收發、控制和狀態寄存器、內部中斷的控制及波特率信號的產生。以下詳細說明主要部分的設計原理。
1.1串行數據發送模塊
串行數據發送模塊將數據或地址碼由并行轉換為串行,并從串行總線輸出。設計采用有限狀態機實現,分為空閑、取數、發送三個狀態。其狀態遷移如圖3所示。各個狀態說明如下:
空閑狀態:狀態機不斷檢測發送使能位、UART使能位和發送FIFO空/滿標志位,如果使能位為高、UART使能打開且FIFO空標志位為低,串行發送進入取數狀態。
取數狀態:在此狀態,分兩個周期從發送FIFO中取出待發送的數據或者地址,然后進入發送狀態。
發送狀態:在此狀態,狀態機按照九位串行數據的格式依次發送開始位、數據位、地址指示位。待停止位發送完畢后,返回空閑狀態。一個字節的數據發送完畢后,進行下一個字節數據的發送流程。
1.2串行數據接收模塊
串行數據接收模塊用于檢測串行數據的開始位,將串行總線上的串行數據轉換成并行數據并輸出。接收邏輯也采用有限狀態機實現,分為空閑狀態、尋找開始位、接收數據和保存數據四個狀態。其狀態遷移圖如圖4所示。各個狀態說明如下:
空閑狀態:在此狀態,不斷檢測接收使能、UART使能和串行輸入信號的狀態。如果串行輸入信號出現由高到低的電平變化且UART使能和接收使能都為高,則將采樣計數器復位,并進入尋找開始位狀態。
尋找開始位:在此狀態,狀態機等待半個波特率的時間,然后重新檢測串行輸入的電平。如果為低,則判斷收到的開始位有效,進入接收數據狀態;否則認為數據總線上出現干擾,開始位無效,重新返回空閑狀態。
接收數據:在此狀態,依次接收串行數據線上的數據位、地址指示位和停止位,結束后進入保存數據狀態。
保存數據:此狀態將收到的串行數據以并行方式從接口的并行總線輸出,然后返回空閑狀態,準備進行下一個字節數據的搜索和接收。
為提高對串行輸入上突發干擾的抵抗能力,對于接收數據,在脈沖的中間位置連續采樣三次,較多的電平作為接收的有效數據。所有接收數據的采樣頻率為接收波特率的16倍。
1.3硬件地址識別模塊
硬件地址識別模塊用于從接收到的數據中判斷出地址和數據,在地址識別功能打開時,選擇數據通過或者丟棄;而該功能關閉時,所有數據都會通過。地址識別模塊是一個有兩個狀態的有限狀態機,分為地址和數據兩個狀態。其狀態遷移圖如圖5所示。狀態說明如下:
地址狀態:在此狀態時,判斷接收到的數據以及地址識別使能位。如果地址識別功能沒有打開,對于接收的任何地址,都進入數據狀態。如果地址識別功能打開,則將收到的地址和本地地址比較,如果相等,則保存此地址,進入數據狀態;否則繼續在此狀態接收數據和地址,將收到的數據忽略。
數據狀態:將接收到的數據輸出,直到收到地址位時,返回地址狀態,處理地址。
為實現監聽和廣播功能,將地址255作為特殊地址,它可以和任何地址匹配。若本站的地址為255,此站點可以接收任何地址的數據,此功能可以用于監聽總線上的數據;若發送數據的目的地址為255,則任何站點都會接收到此數據,此功能可以用于發送廣播數據。
1.4FIFO設計
FIFO由控制邏輯和雙口RAM組成,控制邏輯用來實現將一個雙口RAM轉換成兩個FIFO的功能,這兩個FIFO分別用于發送和接收數據緩存;中斷控制用于在中斷工作方式時管理UART內部的中斷狀態和控制信息。
為減少所需塊RAM的數量,接收和發送FIFO使用同一個塊RAM實現,使用仲裁機制保障兩個FIFO的四個端口,在同一時刻最多只有兩個操作,不影響對FIFO的讀寫。
1.5總線接口
UART采用同步接口,所有信號都在系統時鐘的上升沿采樣,設備的握手用一位應答信號完成。
數據總線寬度采用8+2的方式。和16位或者32位寬度的數據總線連接時,可以一次讀取接收數據的數據和地址指示位,減少總線操作次數;若和8位系統連接,可以只連接低8位數據線,接收數據的地址信息可以通過內部的狀態寄存器讀取。
1.6寄存器和控制邏輯
寄存器部分實現UART內部所有數據的收發、控制和狀態寄存,用于設置UART的數據格式、收發波特率、FIFO控制、本地地址、地址識別、中斷控制和狀態寄存,實現對UART工作的控制。
控制邏輯產生所需的所有波特率信號及對應的上升和下降沿指示信號,并根據實際工作所選擇的波特率輸出與系統時鐘同步的對應信號。波特率產生邏輯的組成框圖如圖6所示。
2功能和時序仿真
首先結合功能仿真設計系統的仿真平臺。仿真平臺如圖7所示。系統仿真平臺和仿真激勵采用VerilogHDL語言設計,可同時用于功能仿真和時序仿真,不能用于二者的綜合。寄存器級模型為用于UARTIP設計的RTL描述,全部采用可以綜合的VerilogHDL語句編寫。仿真使用的軟件為ModelSim。
功能仿真包括以下幾個方面:
(1)基本模塊連線時序的仿真。首先用描述方式設計UART的接口模型,利用仿真激勵進行簡單的讀寫操作,設計出仿真激勵信號和系統仿真平臺。然后結合仿真激勵信號逐步完成UART的各個子模塊的設計。仿真時,需要逐步觀察UART接口信號的波形、UART內部模塊的接口信號波形、各種狀態機的狀態遷移和數據指針的值以及狀態位的值,逐步完成寄存器傳輸級的UART設計。
(2)UART的工作仿真。完成RTL的寄存器傳輸級模型后,根據系統軟件工作的模式,用HDL設計出數據收發的仿真激勵,打開自環功能,進行數據的發送和接收。仿真可以分為仿真查詢和中斷兩種工作方式。對于中斷工作方式,需要用HDL語言模擬軟件的中斷機制,
進行中斷工作方式的仿真。打開地址識別功能,發送不同目的地址的數據,觀察UART的硬件地址識別情況。
完成功能仿真后,將設計進行布局布線,生成Ver-ilogHDL形式的時序仿真模型和標準時延文件,利用與功能仿真相同的仿真平臺進行時序仿真。時序仿真只需要仿真工作方式。功能仿真和時序仿真使用相同的仿真平臺和激勵向量,這樣便于比較二者的差異,發現設計代碼存在的問題。
3綜合和測試結果
本設計用Synplicity公司的SynplifyPro作為綜合工具,用XilinxISE5.2作為布局布線工具,采用器件為XC2S100IIE-7。綜合結果顯示,該UARTIP占用資源情況為:SLICE275個、內部塊RAM1個、I/O24個,HOST總線可以達到的頻率為73.2MHz。
測試程序參考仿真激勵的生成,用C語言在vxWorks操作系統下設計。測試所用方法和工作仿真相同,只是仿真激勵對應測試程序,而RTL模型對應實際的FP-GA器件。
多點測試使用了五塊單板,采用半雙工總線方式,定義簡單的數據包格式,用于檢測數據錯誤并返回數據。數據包的格式為地址開頭,后面是較大255Byte的數據;數據部分包括發送方的地址、數據校驗和及包的長度。另外,還定義簡單的驅動程序格式,完成基本數據的收發和控制,然后在上層加載多點通信協議。其中的一塊加載主設備程序,其它單板加載從設備程序。主設備周期性地向其它從設備發送測試數據,并在規定的時間內等待接收目標單板的數據。從設備軟件只接收發給本單板的數據,如果校驗正確,將收到的數據發給主設備;如果有錯誤,則不進行任何操作。主設備若在規定時間內無法接收從設備的數據或者接收數據錯誤,則判斷通信異常,進行下一個設備的測試。
測試時,數據包長為240Byte,波特率為115200。常溫和高低溫環境下的測試結果表明,UARTIP工作穩定,達到了設計要求。
本UARTIP全部采用VerilogHDL設計,可以在采用FPGA實現的通訊和控制系統中作為系統多點通訊控制器,也可以用于片上系統(SoC)的設計。用于多點通信時,可以有效降低CPU的額外負擔,提高CPU系統的利用率。由于采用語言描述,移植性強,可以用于不同廠家、不同型號的FPGA芯片中,提高了系統的設計速度和效率。
硬件設計論文:路由器硬件設計研究論文
摘要:介紹了VoIP語音卡在路由器中的應用,詳細描述了一款應用于路由器的語音卡的硬件結構及其工作方式。
關鍵詞:VoIPPCIFXS路由器語音壓縮
1VoIP在路由器中的應用
近年來,VoIP(VoiceoverInternetProtocol)給通信市場帶來了強大的沖擊。IP語音業務推出后,由于其在通話費用上比傳統電話具有突出的優勢,因而受到了廣泛歡迎。VoIP技術在路由器中應用,可以大大節省有多個部門在不同地方辦公的企業或機構的電話費用。圖1為一個VoIP路由器在公安分局與派出所間應用的方案。
派出所網點的路由器DCR-2501V和DCR-2509V使用FR(幀中繼)或DDN線路同分局的DCR-3660實現互連,各網點的計算機可通過路由器連接分局的局域網或Internet,實現數據通信;同時,DCR-2501V或DCR-2509V通過FXS語音端口連接普通電話機,分局路由器通過E&M接口和PBX連接,這樣既可以實現內部各部門間的數據通信,同時還可進行零費用的語音通話。
VoIP在費用上呈現巨大優勢的原因在于其利用了計算機通訊的分組化、數字化傳輸技術,先對語音數據按照一定的語音壓縮標準進行壓縮編碼處理,然后把這些數據按IP相關協議打包,再將數據包通過IP網絡傳輸到接收端,接收端將這些以不同順序到達的數據包按其本身順序串起來,并經過解碼解壓恢復出原來的語音信號。與傳統的語音業務相比,VoIP在時間延遲、話音質量等方面存在缺陷。可以采用一些先進的協議如資源預留協議(RSVP)和不同類型服務(Diffserv)等方案來盡可能的優化語音數據包的傳輸,以減少傳輸延遲和擁塞。
目前,VoIP的標準主要有國際電信聯盟技術部(ITU-T)建議的H.323系統和IETF建議的會話發起協議(SessionInitiationProtocol,SIP)系統兩種。前者主要在電信網絡上實現多媒體業務制訂,技術已趨成熟。后者基于動態的Internet模式建網,是基于軟交換技術的面向網絡會議和電話的簡單信令協議。在我國,主要選用H.323技術標準來實現VoIP,在H.323系列標準中,音頻壓縮編碼標準有G.711、G.722、G.723和G729等。
本文將介紹一種已經應用于路由器產品中的VoIP語音卡的硬件設計和工作原理。
2VoIP語音卡硬件結構
該語音卡基于AudioCodes公司的VoPP(VoiceOverPacketProcessor,即語音包處理器)AC48302設計,采用PCI接口界面,可提供兩個FXS(ForeignExchangeStation)語音/傳真接口,可以方便靈活地應用于本公司開發的系列路由器中,實現VoIP功能。其硬件結構框圖如圖2所示,以下介紹各部分硬件的原理和作用。
2.1PCI接口
路由器主板與語音卡之間通過PCI總線連接,便于通用。采用了PCI接口芯片PLX9030實現語音卡本地總線(HPI)與PCI總線之間的轉換。由于語音卡上數據流量不大,不需要利用如DMA方式主動向路由器主板上的Memory空間傳遞數據。因此,語音卡工作于PCI的從模式方式,AC48302通過中斷方式接收或發送語音數據,PCI總線的數據寬度和速度為32位/33MHz。
2.2CPLD部分
AC48302采用8位并行的主處理器接口HPI與外部CPU(即路由器CPU)進行數據交換。在本設計中,HPI接口與PLX9030的本地總線接口時序稍有差別,經過CPLD進行調整。另外,路由器CPU還可通過CPLD控制CODEC和SLIC芯片。
2.3AC48302芯片
AC48302是AudioCodes公司推出的一款低功耗、低價格的雙通道語音包處理器,其內部集成了一個DSP內核。該芯片的主要特性如下:
·支持兩個通道的語音壓縮編碼,語音壓縮標準包括G.729A、G.723.1、G.727、G.726、G.711。
·兼容T.38或FRF.11傳真中繼(2.4~14.4kbps)。
·呼叫ID產生和檢測,呼叫進程和用戶定義語音的檢測和產生。
·兼容G.168的25ms回聲消除。
·高性能的有效語音檢測(VAD)和舒適噪聲產生(CNG)。
·DTMF檢測和產生。
·A律/μ律可選的Codec接口,具有輸入輸出增益控制。
·PCMHighway接口。
·并行的主處理器接口(HPI)。
AC48302各部分硬件接口如圖3所示。
圖4AC48302HPI存儲器的映射關系
2.3.1語音接口(VoiceInterface)
語音接口提供未壓縮的語音、傳真數據的輸入輸出通道。語音接口對外提供四根信號線構成PCM總線,直接連接外部CODEC芯片的PCMHighway。這四根信號線為PCMIN、PCMOUT、PCMCLK、PCMFS。PCMIN輸入從CODEC送來的PCM信號,AC48302內部的DSP按照相應標準(如G.729)壓縮后從HPI給路由器CPU轉發。PCMOUT則相反,AC48302將路由器CPU送來的語音數據按照合適的標準解壓縮,然后從PCMOUT口送到外部CODEC,CODEC經過數/模轉換后恢復成語音信號?熏通過用戶接口送給用戶端。PCMCLK提供2.048MHz的比特同步時鐘,而PCMFS提供8kHz的幀同步時鐘。
2.3.2HPI接口
在本設計中,路由器CPU與AC48302通過HPI口進行通信。路由器CPU和DSP通過AC48302的片內共享的雙口存儲器實現數據交互。片內共享存儲器的映射關系見圖4。
HPI接口包括1根8位數據總線和幾根控制總線。路由器CPU通過三個寄存器(HPIC、HPIA和HPID)控制AC48302及訪問片內存儲空間。HPIC為控制寄存器,用來選擇AC48302的高低字節順序、產生和接收中斷。HPIA為地址寄存器,用來尋址片內的2K存儲空間。HPID為數據寄存器,用來緩存每次讀寫的兩個字節數據,外部CPU可以單個Word或塊數據方式訪問HPID,當以塊數據方式訪問時,HPIA寄存器自動累加,這樣可以減少外部CPU寫HPIA寄存器的開銷。AC48302的內部寄存器和存儲器為16位寬度,因此外部CPU每次訪問AC48302必須以兩個字節為基本單位,信號線HI/LO用來選擇高低字節,信號HRS1、HRS0指示當前訪問的是哪個寄存器。
除了以上兩個重要的接口外,AC48302內部還包含一個PCM時鐘發生器、一個用于測試的JTAG接口以及一個用于訪問外部SRAM及處理信道輔助信令的Memory&I/O接口。
2.4CODEC接口芯片
CODEC芯片負責對DSP解壓縮后送來的PCM數據進行解碼,并將濾波后的模擬語音信號送到用戶線接口芯片SLIC,SLIC對其進行2-4線轉換后送給用戶端;同時,CODEC還負責將SLIC送來的模擬語音信號進行PCM編碼,然后送到DSP芯片進行壓縮處理。
本設計中,CODEC芯片采用IDT公司的4通道PCM編解碼芯片IDT821034。該芯片具有可編程增益設置、主時鐘可選(2.048MHz、4.096MHz和8.192MHz)、較大可支持128個可編程時隙、A律/μ律可選、內置數字濾波器、串行控制接口、低功耗等特點。本設計中選用主時鐘為2.048MHz(E1幀模式),可劃分為32個相等的時隙(Slot0~Slot31),4個通道的接收和發送時隙可通過向串行控制口寫入控制字進行動態選擇。各時隙的位置都以8kHz的幀同步時鐘信號為參考,在IDT821034中,時隙0相對幀同步脈沖的位置有延遲模式和非延遲模式(圖6即為非延遲模式)。
PCM主時鐘(BCLK)、幀同步時鐘(FS)、接收數據(DR)和發送數據(DX)一起構成PCMHighway信號,與AC48302進行連接。BCLK與FS分別對應AC48302的PCMCLK和PCMFS,這兩個時鐘信號都由AC48302產生;DR和DX分別對應AC48302的PCMOUT和PCMIN。PCMHighway信號時序以及時隙與幀同步信號的關系分別如圖5、圖6所示。為了CODEC與DSP芯片間正確收發數據,一般選擇CODEC芯片在BCLK的上升沿發送數據DX,下降沿采樣數據DR,而在另一端的AC48302,則在時鐘下降沿采樣PCMIN,上升沿發送PCMOUT。
2.5用戶線接口(SLIC)芯片
設計中為了使語音卡能夠提供FXS接口功能,采用了愛立信公司的新型SLIC芯片PBL83710連接用戶接口。在該芯片內部能夠產生高電壓鈴流信號及提供自動電池饋電切換,具有環流振鈴和地鍵檢測功能及2-4線轉換功能。該芯片將許多傳統的振鈴繼電器、鈴流發生器等器件集成在一個片內,節省了印制板空間和成本。
3VoIP語音卡硬件驅動流程
硬件驅動程序主要完成以下功能:
(1)初始化PLX9030芯片,配置相關寄存器,選擇本地總線工作方式。
(2)初始化AC48302芯片,啟動AC48302內部的DSP內核到正常工作狀態。AC48302的啟動步驟按順序分為以下幾步:核代碼(Kernel)下載;程序代碼(Program)下載;初始化模式;啟動運行。
(3)驅動語音卡的正常操作。接收處理摘掛機中斷,將SLIC置于正確狀態;配置CODEC芯片的各通道收發數據時隙以及CODEC芯片的增益控制;接收處理AC48302數據包處理中斷,AC48302每處理完一個語音數據包就通過中斷方式通知路由器CPU讀取當前Buffer中的數據或向Buffer寫入下一個數據包。
本文采用的是FXS接口,只要對CODEC后面部分電路稍加改動即可實現FXO或E&M接口功能。目前,該語音卡方案在路由器產品中已獲廣泛采用。
硬件設計論文:FPDP總線接口電路的硬件設計
1.1 研究工作背景
總線是支持計算機及微處理器各模塊間信息傳輸的公共通道,也是與外界進行數據交換的接口,一般包括數據、地址、控制等信號。總線技術包括通道控制功能、使用方法、仲裁方法和傳輸方式等,系統地研制和外圍模塊的開發都必須服從一定的總線規范。在總線結構中,局部總線的發展最令人矚目,目前應用比較廣泛的局部總線是PCI總線,但是存在一定的局限性,如果數據在通過PCI總線時,延遲時間過長(即便帶寬滿足),系統將崩潰。這種問題通常可以通過增加緩存來解決,但這種解決方法并不能從根本上解決問題,PCI總線的局限性還在于不能夠脫離主機獨立工作。
隨著電子技術的發展,越來越多的系統需要大量的數據傳輸,此時單板系統已不能滿足要求,需要多板來共同實現,因此數據的板間傳輸就顯得尤為重要,而FPDP總線可提供兩塊或多塊VME總線板之間的高速數據傳輸,其數據傳輸率較高可達160MB/s,在一個單獨的VME板上也可以有多個FPDP總線進行信息傳輸。在多板系統中,應用VITA標準中的FPDP總線,必將提高系統的數據傳輸能力。
FPDP總線是VME工業標準化組織制定的傳輸高速數據的總線標準,是提高系統數據吞吐能力的一種手段。在信號處理系統中,利用FPDP總線將系統前置處理的數據,高速傳輸到信號處理板,必將充分發揮DSP的功能,提高系統的數據輸入/輸出能力[1]。
1.2 FPDP總線技術及其發展
FPDP是一個在板卡之間直接傳輸數據的系統,具有良好的帶寬和延時特征,適用于高端實時的DSP系統。現在流行的標準協議是VME、ISA、PCI,這些協議都依賴于共享的底板上的總線,共享意味著爭奪有限的底板資源,它們不是以帶寬保留和保障延時的概念開發出來的。因此嘗試利用這些標準協議實現高端實時的DSP系統會出現沖突和失敗。所以在許多場合設計者想設計一個專門的通道,相當于一個邊帶總線來傳輸特定的數據,這時FPDP總線就應運而生了。
FPDP總線標準由VME工業標準化組織制定,能夠在VME或VXI總線插板之間進行高速的數據傳輸,該總線也可以作為其它類型總線插板的局部數據傳輸總線。
FPDP總線應用范圍廣泛,特別是在高速數據采集系統中,現在許多高速數據采集系統會碰到數據采集和要求把大量采集的數據實時送到處理板上進行處理的問題,由于在實際應用中,數據采集和數據處理往往是分開的,一塊是數據采集卡,另一塊是數據處理卡,兩塊板卡之間是獨立的,若利用計算機現有的總線標準進行數據傳輸,如PCI,VME等總線,存在兩個問題:一是若利用這些標準,就必須將兩塊板卡放在同一臺主機里,而一臺主機的總線資源是有限的,難免會出現資源爭奪,帶寬不能滿足要求,故不能滿足數據實時處理的要求;二是在實際有些情況下,必須將一臺主機的數據傳到另一臺主機進行處理,若利用現有的計算機總線標準肯定不能滿足要求,這時用FPDP總線將數據從采集卡傳輸到處理卡就能很好地滿足高速數據采集系統的要求,因為它不占用底板或主機的總線資源。基于FPDP的數據采集系統,可廣泛應用于航空航天、地震監測、石油勘探、醫療設備、聲納等數字信號處理設備中。
FPDP總線傳輸需要相應的傳輸協議。一般總線的傳輸協議分為同步傳輸協議和異步傳輸協議兩種類型。同步協議很簡單但是太嚴格,靈活性差;相反,異步協議能適合任何一種時序要求,但命令模塊和響應模塊需使用較多的控制線,接口比較復雜。準同步協議是一種折衷,不做說明時系統按同步規則運行,當明確要求異步操作時采用異步協議。在一個復雜的總線系統中,微處理器之類的主設備通常利用同步協議進行大批量的、時間相對確定的數據傳輸,而底板則采用異步協議。VXI總線是采用異步信號交換聯絡協議的全并行總線,每次信息傳輸由判優、尋址和數據傳輸組成,信息傳輸的速率由VXI總線上反應最慢的模塊決定。在雷達信號處理等需要進行大量快速的數據傳輸的場合,就需要在VXI總線插板上采用高速的局部總線。局部總線有兩種方式供選擇,一種是加背板,另一種是利用前面板扁平電纜。FPDP總線就是采用后一種方式的高速同步局部總線,它不僅適用于插板之間的數據傳輸,而且可以支持兩個VXI機箱之間的數據傳輸[2]。
FPDP總線是一種全并行的32位同步總線,由于不提供任何地址信息,因此FPDP總線上的數據可被多個插板使用。在采用PECL時鐘的情況下,FPDP總線能夠在兩個或多個VXI插板之間以每秒160MB的速率進行數據傳輸。FPDP總線是一種單向總線,為了能夠進行雙向的數據傳輸,系統內需要設置兩套或兩套以上的FPDP總線[3]。
FPDP總線協議遵循ISO參考模型[2],對低兩層做出了規定。ISO參考模型全稱為開放式系統互聯參考模型,該模型是按照分層思想進行劃分的。FPDP協議包括數據鏈路層和物理層的協議,對硬件接口做了詳盡的規定。
硬件設計論文:PCI總線和DSP芯片的圖像處理平臺的硬件設計
摘要:介紹了基于PCI專用芯片S5933和DSP芯片TMS320C32圖像處理平臺的硬件設計。該平臺使用專用視頻輸入處理芯片SAA7113和CPLD實現了高速連續的視頻幀采集,滿足了后繼圖像處理的需要。該平臺既可以作為視頻圖像采集使用,也可以進行視頻壓縮、匹配等圖像處理的算法驗證,并具有使用靈活的特點。 關鍵詞:數字信號處理芯片 視頻采集 圖像處理
隨著計算機、多媒體和數據通信技術的高速發展,數字圖像技術近年來得到了極大的重視和長足的發展,并在科學研究、工業生產、醫療衛生、教育、娛樂、管理和通信等方面取得了廣泛的應用。同時,人們對計算機視頻應用的要求也越來越高,從而使得高速、便捷、智能化的高性能數字圖像處理設備成為未來視頻設備的發展方向,這必然要求產生相適應的新理論、新方法和新算法。為了在利用這些新技術的過程中檢驗其可行性,研制了基于PCI總線和DSP芯片的圖像處理平臺,該圖像處理平臺是利用PHILIPS公司的視頻輸入處理器SAA7113、TI公司的TMS320C32高速浮點DSP和AMCC公司的S5933 PCI總線接口芯片搭建的。利用高速的PCI總線和功能強大的DSP芯片,可以進行視頻壓縮、圖像檢測、視覺定位等算法研究。
1 系統功能概述
根據實際應用需要,該系統的主要功能有:
(1)可以在不同輸入制式PAL和NTSC之間進行自動切換和處理。
(2)能利用采集到的YUV圖像信號數據進行壓縮算法的驗證,或轉換成灰度圖像數據、RGB格式圖像數據等進行檢測、定位等算法的檢驗。
(3)能將處理后的數據通過PCI接給上層系統(PC機)保存或進行進一步驗證處理。
(4)系統具有軟件修改、升級功能和靈活性,便于算法的改進驗證。
系統的設計難點主要是如何實現系統數據的高速傳輸。圖像數據由專用集成視頻解碼器SAA7113采集,經A/D轉換處理后傳輸到DSP;再經DSP處理后通過PCI接口傳輸到PC機。如何實現SAA7113與DSP之間和DSP與S5933之間的高效率數據通信是解決這個問題的關鍵。通過分析研究,在SAA7113與DSP之間采用CPLD控制的兩幀輪換方式,實現圖像的隔行信號變逐行信號以及采集和處理的同步進行;在DSP與S5933之間采用DMA傳輸方式,實現數據流在系統中的高速傳輸,以滿足圖像處理要求。
2 系統的硬件設計
整個系統由視頻解碼器、DSP和PCI總線專用芯片組成。系統框圖如圖1所示。
DSP芯片采用TMS320C32,該芯片是在TMS320C30的基礎上簡化而來的,含有TMS320C30 CPU核心。它增加了一些常用的功能部件,使程序引導功能、串行接口傳輸和存儲器均可支持8、16、32位的數據。它可產生邊沿中斷和電平中斷,可由用戶編程設定中斷向量表的地址,具有空等待和低功耗兩種電源管理方式。它具有兩個DMA通道,功能強大的外部存儲器接口既可以滿足視頻解碼接口8位數據的要求,也可以實現PCI接口32位數據的的高速數據傳輸。TMS320C32靈活的程序加載可以實現在系統編程。
PCI總線專用接口芯片采用S5933,它是一種功能強且使用靈活的PCI總線控制器專用芯片,該芯片符合PCI局部總線規范2.1版本,既可作為PCI總線目標設備,實現基本的傳送要求;也可作為PCI總線主控設備,訪問其它PCI總線設備。S5933的峰值傳送速率為132Mbps(32位PCI數據線)。S5933提供了3個物理總線接口:PCI總線接口、外加總線接口(ADD-ON BUS);可選的NV存儲器接口。用戶可根據需要設計S5933與外加總線接口相連接的邏輯電路和配置空間的初始化,而不必考慮PCI總線規范眾多的協議,從而將復雜的PCI總線接口關系轉化為簡單的8/16/32位外加總線(ADD-ON BUS)接口關系。S5933芯片功能框圖如圖2所示。
PCI總線與外加總線之間的數據傳輸可以通過內部先入先出存儲器(FIFO)、郵箱寄存器(Mailbox)和數據直傳通道(Pass-Thru)三種通道進行。各通道都包括兩組寄存器以分別完成PCI總線和ADD-ON總線接口雙向數據傳輸,為使用者提供較為寬松而靈活的設計空間。
可編程視頻解碼芯片采用SAA7113;該芯片是可編程視頻處理芯片,采用CMOS工藝。通過簡單的I2C總線可以對其實現編程控制;內部包含兩路模擬處理通道,能實現視頻源的選擇、抗混疊(去假頻)濾波、模/數變換、自動嵌位、自動增益控制、時鐘產生、多制式(PAL BGHI、PAL M、PAL N、NTSC M和NTSC N)解碼及亮度、對比度和飽和度控制。
本系統采用軟件模擬I2C總線的控制方式,通過DSP的多功能口實現DSP對SAA7113的初始化等控制;根據SAA7113輸出的同步脈沖,通過使用可編程器件CPLD,產生圖像幀存儲器的地址信號、讀寫信號以及幀切換等控制信號,實現SAA7113和DSP之間的高速數據通訊。
3 DSP與SAA7113之間的無縫連接
SAA7113輸出的是隔行視頻信號,一幀圖像需要傳送兩次,分別記為奇場圖像和偶場圖像;視頻處理的對象是逐行排列的圖像信號,因此必須等待一幀圖像(連續的奇、偶兩場信號)采集完后,合成到一個圖像幀中才能進行后續處理。利用SAA7113的同步信號,使用可編程邏輯器件CPLD構建控制器,可將圖像數據寫入幀存儲器,解決圖像幀合成問題。為了向前端處理器(DSP)提供連續的圖像信號,采用兩個圖像幀存儲器A和B交替存儲的方式,來暫存采集到的圖像數據和需要處理的圖像數據,可實現圖像的實時連續采集處理。
DSP與SAA7113之間的硬件接口如圖3所示,整個接口的控制邏輯,包括兩個子模塊:幀圖像寫入控制器和乒乓開關,由一塊CPLD來完成。CPLD芯片采用ALTERA公司的EPM9320RC208。兩組幀存儲器A和B采用CYPRESS公司生產的兩塊CY7C1049芯片,容量為512K×8bit,存取時間不超過15ns,能滿足圖像實時采集要求。
SAA7113由數字視頻輸出口VPO?眼7:0,輸出視頻數據。系統設置SAA7113的輸出數據為標準的ITU 656 4?押2?押2 YUV格式,每一個象素的數據由兩個連續的字節表示。為了方便地存儲處理圖像,系統僅取一幀圖像中間的512×512個象素作為一幀,即所取圖像幀為連續奇偶兩場圖像的中央512行,且每行取中間的512個象素的圖像塊。
利用
SAA7113的同步信號,幀圖像寫入控制器模塊產生幀存儲器的地址信號、寫信號以及幀切換信號之一(RDY1)。SAA7113輸出的同步信號包括LLC、RTS0、RTS1。LLC是行鎖定系統時鐘輸出,為象素時鐘頻率的兩倍,即27MHz,用來同步數據采集,使得一個LLC周期輸出一個字節的圖像數據。在圖像數據有效時,其上升沿反相后作為幀存儲器的WE#信號。RTS0、RTS1的功能是通過編程設置SAA7113功能寄存器確定的。RTS0被設置為水平輸出參考信號(行有效信號),RTS0高電平時表示采集一行有效象素,低電平時表示場消隱信號?熏在RTSO上升沿后,幀圖像寫入控制器控制采集一行中間的512個象素數據,將其余的象素數據丟棄。RTS1被設置為垂直輸出參考信號和奇偶場信號,RTS1高電平時表示采集奇場圖像所需要的有效數據,在RTS1上升沿時,開始采集奇場圖像數據,同時它也被用來作為幀圖像開始的信號;RTS1低電平時表示采集偶場中所需要的圖像數據,在RTS1下降沿時,開始采集偶場圖像數據。在RTS1上升沿時,幀圖像寫入控制器控制采集256行象素數據作為奇場圖像;在RTS1下降沿時,順次采集下面的256行象素數據作為偶場圖像,其余的圖像行數據丟棄。使用512K×8bit的靜態存儲器(SRAM),恰好可以存放一幀512×512×2×8bit的圖像。在合成一幀圖像時,對應的奇場圖像的第n個象素和偶場圖像的第n個象素在存儲器內位置相差512×2×8bit,幀圖像寫入控制器通過把RTS1(奇偶場有效)信號作為寫入圖像數據的幀存儲器地址信號中的A1,把場中有效行的計數輸出信號作為幀存儲器地址信號中的A1[18:12],把行中有效象素的計數輸出信號作為幀存儲器地址信號中的A1[10:0],從而實現隔行信號變逐行信號存儲在一圖像幀存儲器中。圖4為圖像采集同步信號時序圖。當采集完一幀圖像數據時,幀圖像寫入控制器產生RDY1信號,通知乒乓開關。在CPLD內部構造一個乒乓開關控制模塊,自動完成幀間讀寫兩個通道接口的切換。其中幀圖像寫入控制器產生的寫圖像幀的地址信號A1[18:0]、寫控制信號WR#和SAA7113的VPO[7:0]組成了圖像幀寫通道的始端接口;DSP讀圖像幀的地址線信號A2[18:0]、讀控制信號R/W#和數據線的低8位信號DI[7:0]組成了圖像幀讀通道的終端接口;RDY1、RDY2(FX0)作為幀切換就緒信號觸發通道的切換。開始采集圖像數據時,幀切換就緒信號RDY1、RDY2同時為假,圖像幀寫通道的始端接口信號與圖像幀A的接口信號RD、WE#、A[18:0]和D[7:0]連接;SAA7113的當前幀圖像數據寫入幀存儲器A;同時,圖像幀讀通道的終端接口與圖像幀B的接口信號連接,DSP從幀B中取出前一幀圖像數據進行處理;當前幀的圖像數據采集完時,幀圖像寫入控制器停止采集數據,置RDY1為真;同理,當DSP在處理完前一幀圖像時,設置引腳FXO置RDY2為真。乒乓開關模塊在檢測到RDY1、RDY2同時為真時,切換通道的接口,此時圖像幀寫通道的始端接口與圖像幀B的接口連接;SAA7113的當前幀圖像數據寫入幀存儲器B;圖像幀讀通道的終端接口與圖像幀存儲器A的接口信號連接,DSP從幀存儲器A中取出前一幀圖像數據進行處理。這樣兩幀輪換進行,實現了圖像的實時連續處理。
在DSP和SAA7113之間所有控制信號的接口邏輯和時序轉換都由CPLD來完成,增加了性,簡化了PCB的版面,并且可以編程修改,提高了使用的靈活性。
圖4 圖像數據采集同步信號時序圖
4 S5933與DSP之間的接口設計
S5933的三種數據傳輸方式有不同的特點,應用于不同的場合。
S5933信箱方式不支持猝發(Burst)傳輸,由8個32位信箱寄存器組成,可從兩個方向進行訪問。它們平均分為兩類,分別用于PCI接口和ADD-ON接口之間的雙向信息傳輸。主機和擴展邏輯都可以通過查詢或中斷方式獲悉任一信箱寄存器的任一字節的空滿狀態,并通過相應地址訪問該字節。S5933的信箱寄存器映射在DSP的I/O空間中,從而可以實現DSP對信箱的直接操作,數據速率較低,故系統中只使用這種方式傳輸命令和狀態信息,例如PC機通知DSP設備關閉;DSP通知上層已經傳送完數據(處理完的數據的大小不是固定的)等。
S5933的FIFO方式主要由兩個接口共用的兩個32×8比特的FIFO、讀或寫地址寄存器以及讀或寫計數器組成。兩個FIFO分別作為PCI和ADD-ON接口之間的雙向緩沖區。S5933提供了快捷方式:一組專門用于FIFO方式傳輸的控制及狀態信號,包括FIFO寄存器的直接讀、寫以及狀態信號等,用以提高數據傳輸速度,但此信號組只能工作在S5933為主控設備的情況下。S5933作為目標設備時,內部FIFO只是作為一般的寄存器,PCI總線如同訪問信箱寄存器那樣訪問它們,操作比較直觀,但不支持猝發傳輸,極大地限制了傳輸速度;S5933作為主控設備時,FIFO方式可進行DMA方式的猝發傳輸,S5933可以通過FIFO接口啟動DMA傳輸周期,傳輸過程不需要CPU的干預,傳輸的速率與外部設備的數據傳輸速率有關,可以得到很高的數據傳輸速率。S5933的DMA數據傳輸啟動方式有兩種:PCI總線接口啟動和ADD-ON總線接口啟動。啟動方式決定于由哪個接口設置讀或寫地址寄存器以及讀或寫計數器:PCI總線接口啟動方式是由PCI總線主設備(一般是PC機的客戶程序)設置DMA相關寄存器發起DMA傳輸的;ADD-ON總線接口啟動方式是由外部邏輯電路(一般是外部插卡上的CPU)設置DMA相關寄存器發起DMA傳輸的。
S5933的PASS-THRU方式使主機以內存映射方式訪問ADD-ON接口的存儲空間,只能工作在S5933是目標設備的情況下,且外部接口需要邏輯電路的支持,故不常用。
本系統是圖像處理的一個實驗平臺,既要求數據傳輸率高,又要求有一定的升級功能和靈活性。因此,系統采用FIFO數據傳輸方式。當采集的圖像數據量大且要求傳輸速度高時,可以采用FIFO方式中的PCI總線接口啟動DMA方式,使用DMA傳輸;有一些應用場合,要傳送的數據個數不明確,例如圖像壓縮后的數據量是不一定的,可以使用外加總線接口啟動DMA的傳輸方式傳送壓縮圖像,而用信箱方式傳送命令和圖像狀態信息。在這種方式下,S5933的外加總線操作寄存器全部映射在TMS320C32 DSP的選通控制信號IOSTRB#控制的空間中,使DSP對PCI接口傳輸的數據的控制十分簡單,就象操作自身的外圍接口一樣。S5933與DSP之間的硬件接口的具體連接方式如圖5所示。
S5933和DSP之間的硬件連接,就是利用DSP的讀寫信號R/W#、地址選通控制信號IOSTRB#、外部設備就緒信號RDY#和部分地址信號以及S5933的FIFO狀態信號WRFULL進行簡單的時序和邏輯組合,生成對S5933的外加總線接口的讀寫控制信號:WR#、RD#、SELECT#、ADR[6:2]、BE[3:0]、WRFIFO#。S5933的數據總線與DSP的數據總線相連接,數據線寬度為32位,以便提供盡可能高的傳輸速率。
本文采用PCI接口芯片S5933、DSP芯片TMS320C32和視頻輸入處理芯片SAA7113設計實現的視頻圖像處理實驗平臺系統可以實現圖像的高速連續采集,進行圖像壓縮、圖像處理等算法的驗證,達到了系統設計的目標。本系統具有使用靈活、升級方便等特點。考慮到DSP芯片的內部RAM有限,程序不能在片內運行,在進行一些復雜的圖像處理運算時,速度會受到限制,故本系統僅適用于靜態圖像的處理算法研究。
硬件設計論文:基于雙處理器的點焊控制系統的硬件設計
摘要:針對點焊的控制特點,設計了一種基于雙處理器的點焊控制系統。在該系統中,DSP模塊負責智能控制程序運算,MCU模塊負責進行人機對話,而信號的輸入輸出則由獨立的AD&IO模塊負責。模擬試驗表明,該硬件系統滿足工作要求。 關鍵詞:點焊控制 雙處理器 硬件設計
點焊是將焊件裝配成搭接接頭,并壓緊在兩電極之間,利用電流通過焊件時產生的電阻熱熔化母材金屬,冷卻后形成焊點的一種電阻焊方法。其通電加熱時間一般為幾至幾十周波(一周波為0.02s),而電流有效值一般為幾至幾十KA。
點焊是一個高度非線性、存在多變量耦合作用和大量隨機不確定因素的過程,其形核處于封閉狀態,時間極短,特征信號提取困難,控制難度較大。
1 設計思想和總體方案
近年來,智能控制技術正被積極地引入點焊控制研究領域,但由于其算法高度復雜、計算密集,因此對系統的實時性要求越來越高。另一方面,DSP(數字信號處理器)技術的蓬勃發展,使得其在工業控制領域的應用越來越廣泛。因此在本設計中,使用DSP作核心處理器,充分發揮其運算速度快的優勢,并嘗試利用多種智能控制算法對點焊進行質量控制,以提高焊點的質量和性。
在實際工作中,點焊需要設置的參數較多,操作者不得不依賴于各種手冊、說明書和/或專家編制的工藝文件來進行設備;而且在選定參數之后,往往還需要通過一系列的旋鈕、按鈕等開關進行設置,操作復雜,容易造成混亂。因此在本設計中,應用MCU(單片機)實現人機對話功能。通過鍵盤輸入和液晶顯示,既充分體現了數字化控制的優勢,也有助于實現點焊專家系統。
由于點焊系統工作在大電流、強磁場的環境下,因此控制系統的抗干擾問題尤為重要,且DSP的工作頻率高,所以將信號的輸入、輸出部分和DSP、MCU模塊分開,設計獨立的AD&IO模塊。
系統的總體方案如圖1所示。
2 DSP模塊的設計
本系統選用了DSK-TMS320VC5402芯片作控制核心。DSP是TI公司提供的一套標準的DSP開發平臺,其目的是令使用者能較能地開發和應用基于DSP的系統,為最終的目標系統提供軟、硬件設計參考模板。有關DSK的具體說明請參閱有關的技術資料。
DSK提供了存儲器接口和外圍設備接口兩列擴展接口。根據“灰箱法”的設計思想,不用理解DSK的內部原理,只需在對其整體有一個基本了解的基礎上,選擇可能要用到的信號即可。因此專門設計了一塊轉接板,作為外圍電路與DSP之間通訊的橋梁。從DSP中引出了26個信號,如表1所示。
表1 轉接板信號
信號名
作 用
電源與地信號+5V由DSK取出,使整個系統同時上電GND從DSK發出,保持系統的地信號相同用于A/D電路的信號ADEN用作TLV2544片選和使能信號X_FSX0發送同步幀,使A/D轉換開始X_DX0發送MCBSP對TLV2544的控制指令X_FSR0接收X_FSX0信號,使DSK和TLV2544保持同步X_CLKX0發送時鐘頻率信號給TLV2544X_CLKR0接收X_CLKX0時鐘,使DSK和TLV2544保持時鐘同步X_DR0接收TLV2544轉換好的數字數據用于I/O電路的信號INPUT用作允許輸入信號OCLOCK用作輸出鎖存信號OUTPUT用作允許輸出信號X_D[07]接入數據總線,傳輸I/O數據用于MPU模塊的控制信號
X_D[07]接入數據總線,傳輸DSP與MPU之間的通訊數據INT1MCU向DSP發出的通信請求信號X_IACKDSP向MCU發出的確認信號X_XFDSP向MCU發出的通訊請求信號X_BIO3MCU向DSP發出的確認信號3 AD&IO模塊的設計
該模塊包括A/D轉換、輸入、輸出三部分電路,它們分別負責模擬信號的輸入和轉換以及開關信號的輸入和控制信號的輸出。
3.1 A/D轉換電路
A/D轉換器的選取主要考慮所采集的模擬信號的數量、精度及與DSP的速度匹配等,綜合考慮后,選用TI公司生產的12位4通道高速AD-TLV2544。
本設計中A/D轉換電路分為三部分:及時部分由5.1V的穩壓二極管又濾波電容103組成,構成模擬輸入部分;第二部分由TLV2544組成,完成A/D轉換;第三部分由八相緩沖器74LS244組成,完成DSP與TLV2544之間的通訊,如圖2所示。
A/D轉換電路的工作是由DSP的多通道緩沖串口MCBSP來控制的。MCBSP通過其數據輸出口DX0發送控制字到TLV2544的SDI口,該控制字為16位,前4位是指令位。如果TLV2544接收到的前四位是0XA,那么接下來的12位就會被當作控制字譯碼;相反,如果前4位接收到的是0XE,那么ADC將繼續輸出FIFO的內容到SDO中。其中,SDI和SDO分別是TLV2544的控制信號輸入口和已轉換好的數字信號輸出口。當TLV2544按DSP發出的控制字轉換到一定時候(如FIFO堆棧滿)時,則發出INT信號通知DSP接收。DSP接收到INT信號后,經X_DR0口讀入TLV2544已轉換好的串行數據。
3.2 輸入和輸出電路
為了抵抗電氣干擾和高壓電擊,在本設計中,輸入和輸出電路均采用光隔PC817傳遞邏輯信號,實現電氣隔離。另外還使用反相器74HC14對傳輸信號進行整形,利用施密特特性消除毛刺干擾,提高信號傳輸的抗干擾能力。輸入和輸出電路與DSP的接口如圖3所示。
在輸入電路中使用了緩沖器74LS244,以增強線驅動能力,如圖3所示。假設第二路輸入為低電平,則光隔不導通,A2也為低電平。DSP要讀取它的時候,先給輸入一個低電平,然后用02H(即00000010)去線與,判斷Y2的值是否為1,如果不為1則不讀入,反之讀入。其它輸入也是這樣來處理。
因為輸出的開關量需要保持開或關的狀態,所以在輸出電路中使用了鎖存器74LS373,進行緩沖和鎖存,如圖3所示。當輸出由低電平變為高電平時候,DSP將數據由X_D[0~7]送到鎖存器的輸入端,然后再給OCLOCK一個低電平脈沖,數據即被鎖存在鎖存器
的輸出端。假如Q0=1,則經反相器后變為低電平,光隔導通;反之,光隔不導通,從而實現了開關量的數據輸出。4 MCU模塊的設計
4.1 MCU擴展系統
在本設計中,MCU選用89C51,并擴展了片外ROM27512(64KB)和片外RAM6264(8KB),如圖4所示。MCU用作液晶顯示的數據線;P2口用作高位地址線,其高3位P25、P26、P27同時還作譯碼器74LS138的輸入,該譯碼器的輸出為片外RAM的尋址訪問信號。片外鎖存器和RAM 6264是統一編址的,即每一片鎖存器都有自己的地址。
4.2 人機接口
在本設計中,鍵盤包括“0~9”、“.”、“確認”、“上翻”、“下翻”、“取消”、“暫停”等共16個鍵位,故采用4×4的矩陣式方案。矩陣式鍵盤由行線和列線組成,按鍵設置在行、列線的交點上。行、列線分別連接到按鍵開關的兩端。行線通過上拉電阻接到+5V上。無按鍵動作時,行線處于高電平;而當有鍵按下時,行線電平狀態將由與此行線相連的列線電平決定。列線電平如果為低,則行線電平為低;列堅電平為高,則行線電平為高。從而可以識別出按鍵是否按下。
鍵盤電路主要由單片機的P0口、八相反相緩沖器74LS240、鎖存器74LS273以及一些上拉電阻組成。P0口用作數據線,八相反相緩沖器74LS240緩沖行線的信號,鎖存器74LS273鎖存從P0口送給列線的信號。對八相反相緩沖器74LS240所緩沖的行線的值的讀取是通過譯碼器74LS138輸出的譯碼信號G5來控制的,其讀地址為BFFFH;而對鎖存器74LS273的控制則是通過譯碼器輸出的G6來控制的,對列的寫地址為DFFFH。
在本設計中選用的液晶顯示器是信利公司的MG12232-5。該液晶顯示器帶背光及溫度補償功能,左右有主、從兩個控制器SED1520,上下分4頁。漢字顯示采用12×12點陣,數字、符號顯示采用12×6點陣。每個漢字占24字節,數字、符號占12字節,均燒入程序存儲器。
液晶顯示電路的工作原理為:由MCU通過P1口向液晶顯示器的數據線DB口輸出顯示數據和控制指令,通過P3口向液晶顯示器輸出對E1、E2、A0、RST端口的控制字。液晶顯示器的E1、E2、A0、RST口信號分別為主控制器讀寫使能信號、從控制器使能信號、顯示或指令選擇信號以及復位信號。
使用液晶顯示器首先需要進行初始化,其工作在規定的方式中。液晶初始化包括:復位、休閑狀態設置、設置占空比、排序設置、設置顯示起始行、開顯示、自動顯示的方向設置等。這些命令在操作中都是作為指令寫入控制器的。然后再將要顯示的漢字或字符數據送給液晶顯示器,液晶顯示器即可按控制字的要求進行顯示。
4.3 MCU與DSP的通訊
該通訊電路由三片緩沖器74LS244(U6001、U6002及U6008、MCU的P0口以及DSP的X_D[0~7]口組成,如圖5、圖6所示。各緩沖器的控制信號由譯碼器138的輸出G1、G2、G3、G4組成。其中,U6001負責將MCU的數據送到DSP,U6002負責把DSP的數據送到MCU,而U6008則負責發送MCU與DSP之間的通訊請求和確認信號。
DSP向MCU發送數據的過程為:DSP將數據通過X_D[0~7]口輸出至緩沖器U6002,同時由X_XF發送通訊請求信號至MPU的P00口,MCU檢測到該信號后,讀取緩沖器U6002的數據,然后通過P02口發給DSP一個確認信號。
MCU向DSP發送數據的過程與上相似。
模擬試驗表明,本文介紹的硬件系統可以滿足工作要求,為下一步的研究提供了良好的平臺。作者試運行了電流有效值的神經網絡求解和可控硅模糊控制等自編程序,均獲得了良好的預期效果。
硬件設計論文:網絡變互式數字電視機頂盒硬件平臺的設計
從現有交互式數字電視機頂盒的發展以及局限性出發,介紹了ST Microelectronics公司新近推出的適合于交互式數字電視應用的ST40GX1和STi5514芯片的功能特點以及接口。提出了二者相結合構成雙CPU的高性能網絡交互式數字電視機頂盒的方案,并給出了包括前端在內的系統的具體構成。
關鍵詞:數字電視 機頂盒 DVB 圖形加速器 網絡接口 Cable Modem
從硬件發展上來看,交互式機頂盒、數字電視已從早期的由分立器件構成而發展到由現代單芯片解決。這是數字大規模集成電路制造工藝技術進步的結果,也是較大程度降低系統成本的必然要求。現代單芯片解決方案的機頂盒一般集成了CPU、解復用、音頻視頻解、二維圖形處理、編碼和外設端口等模塊。為節省芯片面積,這些獨立部分是通過總線方式連接在一起的。改進系統的性能,通常是從提高CPU的速度、增強二維乃至三維圖形的處理能力、增加外設端口的接口數目和類型等方面著手,從而從總體上提高系統的交互處理能力。但由于視頻解復用器和音頻視碼器對存取數據總線實的性要求嚴格,增加了CPU處理等待時間,形成了所謂的總線瓶頸。有關測試表明,總線瓶頸使得CPU的執行指令時間達到了76%,這種單純依靠提高CPU性能來克服處理能力的不足,并不能提高性價比。改善總線瓶頸可以通過改進或增加系統互連總線來完成。如松下公司的Gross Switch解決方法,使等待時間減小到50%。但這些必將增加芯片制造中互連線的復雜度,從而增加成本。
除了總線瓶頸帶來的問題是,隨著用戶對接入方式多樣性以及圖形圖像處理要求的日益提高,通過電話線回傳的交互式機頂盒、數字電視的窄帶接入方式以及有限的計算能力也越來越不能滿足人們的要求。隨著有線HFC網的雙向改造以及它與電信網、互聯網三網合一進程的加速,為用戶添加Cable Modem(CM)、Ethernet等靈活可選的寬帶接入方式以及增加高級2D乃至3D高級圖形處理,便成為機頂盒應用的一個重要方面。
1 基于ST40GX1與STi5514的雙CPU解決方案
為解決上面提出的總是,選擇了ST Microelectronics公司最近推出的基于STi5514單芯片解碼器和ST40GX1二維圖形處理器的雙處理器解決方案。該方案避免了外設模塊倍增帶來的總線擁擠以及解碼實時性要求帶來的等待延遲。STi5514和ST40GX1內部都采用了高速的先進STBus實現互聯,前者負責實時性要求較高的硬件解復用、視頻音頻解碼、與解碼相關聯的外圍I/O設備控制等。后者負責寬帶交互式應用以及高級圖形處理。兩者之間的高速數據通信通過MPX(Memory Peripheral Exchange)總線以及存儲映射的郵箱(Mailbox)來進行。通過主頻達100MHz的MPX總線,STi5514能直接存取ST40GXI上可高達256MB的DDR SDRAM存儲資源。
1.1 STi5514功能特點及接口
STi5514主要完成MPEG-2視頻、音頻信號的解壓縮。其內部集成了一個MP@ML標準清晰度的視頻解碼模塊和一個杜比AC-3/AAC/DTS音頻解碼模塊以及Video Encoder和Audio DAC模塊等。內部32位RISC CPU工作主頻為120MHz,在外接V.90的硬件Modem條件下,可以通過電話線進行窄帶交互式應用,如進行基于電話線回傳的視頻點播、低速Internet瀏覽等。
與ST公司早先推出的單芯片解碼器STi5512相比,除一般功能接口相同外,其突出特點是:指令和數據緩沖都增加了一倍,同時并發處理三路TS(Transport Stream)流輸入,支持多種解擾模式(包括DVB、DES、ICM、Fast-I),直接支持杜比AC-3/AAC/DTS音頻解碼,提供ATAPI硬盤電路接口,并直接支持Ultra-DMA66高速數據傳送模式的硬盤以實現數字電視節目的實時錄制,視頻解碼流可以以ITU-R601_656格式數據流輸出或者以復合視頻信號(CVBS)、分量信號RGB和YUV等不同模擬模式輸出,支持Teletext解碼輸出,同時提供對兩路SIM卡接口,利用擴展銀行卡等高級應用。由于STi5514去掉了1394接口,故需外接1394控制器(如STE422等)來擴展基于1394的視頻輸入。
1.2 ST40GX1功能特點和結構
ST40GX1集成了SH-4 32位RISC處理器內核,Gamma 2D圖像處理、混合模塊以及其它視頻電路接口邏輯。
ST40GX1是交經式應用的處理核心,包括系統設備和外設兩個方面。
1.2.1 系統設備
ST40GX1系統設備包括中央處理器(CPU)、用于DSP功能的浮點運行單元/加乘處理單元(FPU/Mac)、存儲管理單元(MMU)以及DMA控制模塊。
其中,CPU為32位SuperH RISC,2通道超標量體系結構,主頻166MHz,16位指令定長,Load-Store結構,8KB直接指令緩存,16KB直接操作數緩存,帶有一個片上乘法器。
存儲器支持4G的存儲空間,支持單塊或多塊虛擬內存模式。頁面大小可以為1KB!、4KB、64KB或1MB。支持4通道全相關指令ITLB(Instruction Translation Lookaside Buffer)、64通道全相關指令以及操作數UTLB。支持軟件控制的更新算法及隨機計數的更新算法。這為32位保護模式下的操作系統提供了完備的硬件平臺。
通用DMA控制器支持5個通道的數據傳輸,其中4個通道可以用于存儲器到存儲器哉存儲器到外設之間的數據傳送,另外一個通道為帶緩沖的多路復合通道。支持2D塊的搬動以及鏈表操作。兩個通道的DMA握手信號和EMI接口信號被用于MPX總線操作。
圖1 基于STi5514和ST40GX1的系統結構圖
1.2.2 外設接口模塊
外設接口模塊包括通用接口模塊和視頻專用接口模塊。
通用接口模塊包括兩個的ST40系列處理器兼容的全雙工異步串行通信端口、中斷控制器、符合IEEE1149規范的調試控制器、實時時鐘、4個用戶可編程的PLL、24位輸入輸出方向可配置的并行I/O口,兩個符合v1.1規范的USB主控制器和收發器、Modem模擬前端接口MA
FE、兩上可配置為支持I2C或SPI總線接口標準的同步串行控制器(SSC0,SSC1)、Teletext輸入接口、兩個使用異步協議的SmartCard接口、用于和外部微處理器通信的存儲映射郵箱(Mailbox),符合PCI2.1規范的PCI接口控制器、兩路音頻PCm輸入接口和一路PCM輸出接口等。 視頻專用接口以及處理模塊包括字視頻輸入端口和2D圖像處理器。
兩個CCIR601-656視頻輸入端口(DVP0,DVP1)可以同時輸入YCbCr 4:2:2格式的視頻數據,并將其裝入局部存儲器。對沒有內嵌同步信號的視頻還根據SAV/EAV協議提供了外同步信號支持,用戶可以從輸入的視頻圖像中設定視頻捕獲窗口以及活動窗口的子窗口。數字編碼器(DENC)將數字視頻流轉換為標準的模擬基帶PAL/SECAM/NTSC信號以及RGB和YUV模擬分量信號。如果在LMI上使用32位的DRAM,則可以獲得RGB24位的數字視頻流。
2D圖像處理器(或圖像塊傳送引擎)擁有兩個2D DMA圖像數據輸入源,可完成一整套強大處理操作。除了完成普通2D圖形加速功能外,還可完成不同圖形格式(RGB/YUV等)之間的轉換,其中包括塊填充、塊拷貝、異步復合、色彩變換以及2D縮放處理等功能。
2 基于STi5514和ST40GX1的系統構成
根據STi5514和ST40GX1的功能特點提出的系統總體結構方案如圖1所示。
2.1 前端解碼部分
由于STi5514內置三路TS流解擾通道,故采用雙路的Turner+STV0297QAM解碼器同時解調兩個頻道的基件解擾、控制處理以及解碼能力,可以實現畫中畫功能。其中Turner可以采用MicroTune的MT2040單芯片調諧器以節省空間和成本。此外,通過外接STE422,對IEEE1394接口輸入提供支持。
2.2 后端解碼部分
后端解碼由STi5514完成。STi5514通過外接8MB共享的SDRAM完成在信道解調、解復用以及解碼過程中所需要的存儲資源,STi5514通過MPX總線共享位于ST40GX1 EMI接口上的16MB FLASH。通過ATA接口外接硬盤存儲器以擴展VCR應用。STi5514解碼后的符合ITU-R601_656標準的視頻數據通過視頻輸出端口直接輸入到ST40GX1的兩路視頻輸入端口中的DVP0。STi5514向ST40GX1發送27MHz的像素時鐘以及同步信號,以確保STi5514視頻數據正確接收。
2.3 圖形處理及便于交互式應用的網絡接口
交互式應用硬件實現部分由ST40GX1以及相應的網絡接口完成。
2.3.1 ST40GX1二維圖形處理
ST40GX1接收來自STi5514輸入的解碼視頻流,并經過插值、色彩空間坐標變換后,與網頁瀏覽等其它視頻流進行透明度處理(Alpha blending)、飽和度處理(Gamma Processing)等復合處理,形成統一的視頻幀緩存數據,并通過內部的DENC將其編碼為模擬電視能接收處理的復合視頻信號CVBS、SVideo或分量信號RGB、YUV等輸出。
由于ST40GX1只支持3.3V的PCI接口,可通過Intel的SB21150BC擴展3.3V或5V的PCI插槽;在需要3D圖像處理的情況下,可以外插PCI 3D圖形加速卡來實現。
2.3.2 網絡接口
考慮到網絡接口的寬帶接入方式需求,利用ST40GX1對外部提供的PCI總線接口,集成Cable Modem、Ethernet等高速接口。
2.3.2.1Cable Modem
選擇符合Docsis1.1/Euro-docsis1.1規范的Cable Modem前端單芯片接口芯片STV0396作為Cable Modem解決方案,這一部分既可以作為一個獨立的PCI卡來設計,也可以將其直接嵌入母板上。STV0396是一個高度集成的調制解調系統,包括支持上行和下行符合DOCSIS1.1規范的物理層規范接口,媒體接入控制(MAC)以及功能強大的32位ST20 RISC處理器、PCI、EMI/MPX等與ST40GX1相兼容的外部接口。STV0396采用316管腳的BGA封裝,除需外接雙向調諧器外,還需要添加下行方向的聲表面波濾波器(SAW)、上行方向的線路放大器以及的時鐘等,才能實現與線纜頭端設備(CMTS)之間的通信連接。其典型接口電路如圖2所示。
2.3.2.2 以太網接口
選擇基于RTL8139C的3.3V以太網芯片組作為接口芯片,主要考慮到該芯片具有高度集成、在嵌入式系統中使用廣泛以及10/100M自適應特性、自帶PCI接口、在類Linux操作系統下驅動程序容量找到等優點。RTL8139采用128管腳的QPF/LQPF封裝,并通過PCI總線接口與ST40GX1相連接。
2.3.2.3 V.90軟件Modem的支持
對V.90軟件Modem的支持,直接利用ST40GX1的Modem前端接口MAFE來完成。不使用硬件Modem是考慮到充分利用ST40GX1的運算處理能力以降低成本。
2.4 啟動及通訊
ST40GX1與STi5514通過配置各自MPX總線接口的主/從(Initiator/target)方式來決定系統的啟動順序。在這里,由于系統啟動代碼位于ST40GX1的局部FLASH中,故將ST40GX1配置為主(Initiator),將STi5514配置為從(target)。具體的啟動順序為:ST40GX1首先控制MPX總線并且先啟動,在啟動期間阻止STi5514使用MPX總線,直到其完成從Flash里面讀取啟動代碼和初始化為止。接著ST40GX1利用MPX總線拷貝STi5514的啟動程序以及應用程序代碼到自己的LMI DDR內存中。拷貝完成后,ST40GX1釋放并允許STi5514控制MPX總線,STi5514從ST40GX1的DDR SDRAM中拷貝自己的啟動程序及應用程序代碼。借鑒這一點,通過MPX總線可以實現多CPU之間的存儲共享。
STi5514通過MPX總線可以訪問ST40GX1上的Mailbox寄存器。Mailbox被固定映射于ST40GX1存儲空間的基地址0x1B150000處,該寄存器對兩個CPU都能產生中斷信號。通過Mailbox寄存器,ST40GX1與STi5514能實現進程同步、信息傳遞等進程間通信。
本文較為詳細地介紹了基于ST40GX1和STi5514的高性能網絡交互式數字電視機頂盒的系統構成及實現。雖然低端的基本付費/免費數字電視機頂盒會在很長時間內成為消費者的選擇,但隨著用戶對功能需求的增加以及有線運營商服務內容的豐富,為用戶提供此類高端應用的數字電視機頂盒也會得到日益廣泛的應用。
硬件設計論文:基于PCI總線加密卡硬件設計
摘要:介紹基于PCI總線加密卡的硬件組成部分。該加密卡汲取了現代先進的加密思想,實現了高強度加密功能。 關鍵詞:加密卡 PCI總線 PCI9052 ISP 單片機
加密是對軟件進行保護的一種有效手段。從加密技術的發展歷程及發展趨勢來看,加密可大體劃分為軟加密和硬加密兩種。硬加密的典型產品是使用并口的軟件狗,它的缺點是端口地址固定,容易被邏輯分析儀或仿真軟件跟蹤,并且還占用了有限的并口資源。筆者設計的基于PCI總線的加密卡具有以下幾個優點:及時,PCI總線是當今計算機使用的主流標準總線,具有豐富的硬件資源,因此不易受資源環境限制;第二,PCI設備配置空間采用自動配置方式,反跟蹤能力強;第三,在PCI擴展卡上易于實現先進的加密算法。
1 總體設計方案
基于PCI總線的加密卡插在計算機的PCI總線插槽上(5V 32Bit連接器),主處理器通過與加密卡通信,獲取密鑰及其它數據。加密卡的工作過程和工作原理是:系統動態分配給加密卡4字節I/O空間,被加密軟件通過驅動程序訪問該I/O空間;加密卡收到訪問命令后,通過PCI專用接口芯片,把PCI總線訪問時序轉化為本地總線訪問時序;本地總線信號經過轉換處理后,與單片機相連,按約定的通信協議與單片機通信。上述過程實現了主處理器對加密卡的訪問操作。
圖1 硬件總體設計方案
下面以主處理器對加密卡進行寫操作為例,闡述具體的實現方法。加密卡采用PLX公司的PCI9052作為PCI總線周期與本地總線周期進行轉換的接口芯片。PCI9052作為PCI總線從設備,又充當了本地總線主設備,對其配置可通過EEPROM 93LC46B實現。主處理器對加密卡進行寫操作,PCI9052把PCI總線時序轉化為8位本地數據總線寫操作。這8位本地數據總線通過Lattice公司的ispLSI2064與單片機AT89C51的P0口相連,2064完成PCI9052本地總線與AT89C51之間的數據傳輸、握手信號轉換控制等功能。2064對8位本地數據總線寫操作進行處理,產生中斷信號。該中斷信號與AT89C51的INT0#相連,使AT89C51產生中斷。AT89C51產生中斷后,檢測與其P2口相連的本地讀寫信號WR#、RD#、LW/R#。當WR#為低電平、LW/R#為高電平時,AT89C51判斷目前的操作是否為寫操作。確認是寫操作后,AT89C51把P0口上的8位數據取下來,然后用RDY51#(經2064轉換后)通知PCI9052的LRDYi#,表明自己已經把當前的8位數據取走,可以繼續下面的工作。PCI9052收到LRDYi#有效后,結束當前的8位數據寫操作。PCI總線的一次32位數據寫操作,PCI9052本地總線需要四次8位數據寫操作,通過字節使能LBE1#、LBE0#區分當前的8位數據是第幾個字節有效。
加密卡硬件總體設計方案如圖1所示。
2 硬件各組成部分說明
2.1 PCI9052部分
PCI9052是PCI總線專用接口芯片,采用CMOS工藝,160引腳PQFP封裝,符合PCI總線標準2.1版。其總線接口信號與PCI總線信號位置對應,因此可直接相連,易于PCB實現。PCI9052的較大數據傳輸速率可達132MB/s;本地時鐘較高可至40MHz,且無需與PCI時鐘同步;可通過兩個本地中斷輸入或軟件設置產生PCI中斷。它支持三種本地總線工作模式,實際設計采用地址和數據線非復用、8位本地數據總線、非ISA模式。
PCI9052內部有一個64字節PCI配置空間,一個84字節本地配置寄存器組。對PCI9052的配置可由主機或符合3線協議的串行EEPROM完成(注:ISA模式必須由串行EEPROM完成配置)。實際設計采用Microchip公司的93LC46B存放配置信息。系統初始化時,自動將配置信息裝入PCI9052,約需780μs。如果EEPROM不存在或檢測到空設備,則PCI9052設置為默認值。
在設計中,EEPROM用到的配置項目有:設備ID:9050;廠商ID:10B5;分類代碼:0780;子系統ID:9050;子系統廠商ID:10B5;支持INTA#中斷,PCI 3C:0100;分配4字節本地I/O空間:(例LAS0RR)0FFFFFFD;其它本地地址空間未使用:00000000;4字節本地I/O空間基地址(模4對齊):(LAS0BA)01200001(僅為示例);4字節本地I/O空間描述符:(LAS0BRD)00000022(非猝發、LRDYi#輸入使能、BTERM#輸入不使能、不預取、各內部等待狀態數均為0、8位本地數據總線寬度、小Endian模式);中斷控制/狀態,Local 4C:00000143(LINTi1使能、LINTi1邊沿觸發中斷選擇使能、LINTi2不使能、PCI中斷使能、非軟件中斷、ISA接口模式不使能);User I/O、從設備應答、串行EEPROM、初始化控制,Local 50:00024492。有兩點要注意:一是設計中采用PLX公司推薦使用的串行EEPROM 93LC46B按字(16 bit)為單位組織;二是EEPROM開發器編輯輸入與手工書寫的順序對應關系,以廠商ID:10B5為例,在開發器編輯輸入的是b510,而不是10B5。
PCI9052本地信號的含義是:LAD[7..0]:本地8位數據總線;WR#:寫有效;RD#:讀有效;LW/R#:數據傳輸方向,高電平為寫操作,低電平為讀操作;LBE1#和LBE0#:字節使能,表明當前LAD[7..0]上的數據是第幾個字節(0到3);BLAST#:PCI9052寫數據準備好或讀數據已取走;LRDYi#:外部設備(此設計指單片機)已把PCI9052寫操作數據取走或讀操作數據準備好;LINTi1:外部設備通過LINTi1向主機發送INTA#中斷,當單片機驗證密鑰正確,向主處理器發送請求,表明可以開始從中讀取相關數據。
需注意的是,PCI9052在使用時,某些引腳要加阻值為1kΩ~10kΩ的下拉或上拉電阻。因此在實現時,給MODE、LHOLD、LINTi1引腳加下拉電阻,CHRDY、EEDO、LRDYi#引腳加上拉電阻。
圖2 PCI9052本地寫時序
以主處理器向單片機寫數據為例,圖2給出了PCI9052的本地寫時序。
2.2 ispLSI2064部分
為降低數據被解析的風險,應盡量減少使用分離元件。因此在設計中選用了Lattice公司的CPLD ispLSI2064。該芯片采用EECMOS技術,100引腳TQFP封裝,擁有2000個PLD門,64個I/O引腳另加4個專用輸入,64個寄存器,3個全局時鐘,TTL兼容的輸入輸出信號。2064具有在系統可編程ISP(In-System Programmable)功能,可方便實現硬件重構,易于升級,降低了設計風險,并且安全性能高。PCI9052與單片機之間的8位數據線進行雙向數據傳輸,不能簡單地直接相連,需要進行傳輸方向控制和數據隔離
。故用2064作為PCI9052本地信號與單片機信號進行信號傳遞的接口,圖3給出了8位數據信號雙向傳輸的原理圖。2064的開發軟件ispDesignExpert 8.2版支持VHDL、Verilog HDL、Abel等語言及原理圖輸入,且通過專用下載電纜可把最終生成的JEDEC文件寫入2064,實現編程。在設計時采用了原理圖輸入的方法。原理圖中用到的BI18的功能描述為:當OE=1時,XB為輸出,A為輸入,即XB=A;當OE=0時,XB為輸入,Z為輸出,即Z=XB。FD28的功能描述為:8位D觸發器(帶異步清除)。結合PCI9052本地讀寫時序,可以分析得出,在進行讀寫操作時,圖3實現了LAD[7..0]與D[7..0]之間正常的數據傳輸;在非讀寫時,雙方數據處于正常隔離狀態。
2.3 單片機AT89C51部分
單片機采用ATMEL公司的AT89C51。這是一個8位微處理器,采用CMOS工藝,40引腳DIP封裝。它含有4K字節Flash和128字節RAM,且自身具有加密保護功能。單片機不進行外部存儲器和RAM的擴展,程序存儲和運行均在片內完成,有效地保障了加密強度。
圖3 LAD[7..0]與D[7..0]之間的數據傳輸
單片機的P0口接圖3的D[7..0],并加10kΩ的上拉排阻。WR#、RD#、W/R#、BE1#、BE0#作為單片機輸入信號接P2口。PCI9052寫數據準備好或讀數據已取走信號REQ9052#作為單片機輸入信號接P3.2(INT0#);寫數據單片機已取走或讀數據單片機準備好信號RDY51#作為單片機輸出信號接P1.0;接P1.1的OVER51#作為單片機輸出信號,經2064接PCI9052的LINTi1,通過LINTi1向主機發送INTA#中斷請求。
基于PCI總線的加密卡,依照PCI總線標準2.1版,通過動態分配4字節I/O空間,實現主處理器與卡上單片機之間的握手通信。被加密軟件通過訪問加密卡,獲取軟件正常執行的相關權限。在加密卡不存在的情況下,被加密軟件因得不到相關授權而無法運行,從而實現了加密功能。在單片機的存儲器里,除了存放密鑰之外,設計者還可以把被加密軟件的部分程序、算法或常數寫入單片機的存儲器,在加密卡不存在的情況下,被加密軟件的功能是不完整的,從根本上防止了軟件破解。
硬件設計論文:VoIP語音卡在路由器中的應用及硬件設計
摘要:介紹了VoIP語音卡在路由器中的應用,詳細描述了一款應用于路由器的語音卡的硬件結構及其工作方式。 關鍵詞:VoIP PCI FXS 路由器 語音壓縮
1 VoIP在路由器中的應用
近年來,VoIP(Voice over Internet Protocol)給通信市場帶來了強大的沖擊。IP語音業務推出后,由于其在通話費用上比傳統電話具有突出的優勢,因而受到了廣泛歡迎。VoIP技術在路由器中應用,可以大大節省有多個部門在不同地方辦公的企業或機構的電話費用。圖1為一個VoIP路由器在公安分局與派出所間應用的方案。
派出所網點的路由器DCR-2501V和DCR-2509V使用FR(幀中繼)或DDN線路同分局的DCR-3660實現互連,各網點的計算機可通過路由器連接分局的局域網或Internet,實現數據通信;同時,DCR-2501V或DCR-2509V通過FXS語音端口連接普通電話機,分局路由器通過E&M接口和PBX連接,這樣既可以實現內部各部門間的數據通信,同時還可進行零費用的語音通話。
VoIP在費用上呈現巨大優勢的原因在于其利用了計算機通訊的分組化、數字化傳輸技術,先對語音數據按照一定的語音壓縮標準進行壓縮編碼處理,然后把這些數據按IP相關協議打包,再將數據包通過IP網絡傳輸到接收端,接收端將這些以不同順序到達的數據包按其本身順序串起來,并經過解碼解壓恢復出原來的語音信號。與傳統的語音業務相比,VoIP在時間延遲、話音質量等方面存在缺陷。可以采用一些先進的協議如資源預留協議(RSVP)和不同類型服務(Diffserv)等方案來盡可能的優化語音數據包的傳輸,以減少傳輸延遲和擁塞。
目前,VoIP的標準主要有國際電信聯盟技術部(ITU-T)建議的H.323系統和IETF建議的會話發起協議(Session Initiation Protocol,SIP)系統兩種。前者主要在電信網絡上實現多媒體業務制訂,技術已趨成熟。后者基于動態的Internet模式建網,是基于軟交換技術的面向網絡會議和電話的簡單信令協議。在我國,主要選用H.323技術標準來實現VoIP,在H.323系列標準中,音頻壓縮編碼標準有G.711、G.722、G.723和G729等。
本文將介紹一種已經應用于路由器產品中的VoIP語音卡的硬件設計和工作原理。
2 VoIP語音卡硬件結構
該語音卡基于AudioCodes公司的VoPP(Voice Over Packet Processor,即語音包處理器)AC48302設計,采用PCI接口界面,可提供兩個FXS(Foreign Exchange Station)語音/傳真接口,可以方便靈活地應用于本公司開發的系列路由器中,實現VoIP功能。其硬件結構框圖如圖2所示,以下介紹各部分硬件的原理和作用。
2.1 PCI接口
路由器主板與語音卡之間通過PCI總線連接,便于通用。采用了PCI接口芯片PLX9030實現語音卡本地總線(HPI)與PCI總線之間的轉換。由于語音卡上數據流量不大,不需要利用如DMA方式主動向路由器主板上的Memory空間傳遞數據。因此,語音卡工作于PCI的從模式方式,AC48302通過中斷方式接收或發送語音數據,PCI總線的數據寬度和速度為32位/33MHz。
2.2 CPLD部分
AC48302采用8位并行的主處理器接口HPI與外部CPU(即路由器CPU)進行數據交換。在本設計中,HPI接口與PLX9030的本地總線接口時序稍有差別,經過CPLD進行調整。另外,路由器CPU還可通過CPLD控制CODEC和SLIC芯片。
2.3 AC48302芯片
AC48302是AudioCodes公司推出的一款低功耗、低價格的雙通道語音包處理器,其內部集成了一個DSP內核。該芯片的主要特性如下:
·支持兩個通道的語音壓縮編碼,語音壓縮標準包括G.729A、G.723.1、G.727、G.726、G.711。
·兼容T.38或FRF.11傳真中繼(2.4~14.4kbps)。
·呼叫ID產生和檢測,呼叫進程和用戶定義語音的檢測和產生。
·兼容G.168的25ms回聲消除。
·高性能的有效語音檢測(VAD)和舒適噪聲產生(CNG)。
·DTMF檢測和產生。
·A律/μ律可選的Codec接口,具有輸入輸出增益控制。
·PCM Highway接口。
·并行的主處理器接口(HPI)。
AC48302各部分硬件接口如圖3所示。
圖4 AC48302 HPI存儲器的映射關系
2.3.1 語音接口(Voice Interface)
語音接口提供未壓縮的語音、傳真數據的輸入輸出通道。語音接口對外提供四根信號線構成PCM總線,直接連接外部CODEC芯片的PCM Highway。這四根信號線為PCMIN、PCMOUT、PCMCLK、PCMFS。PCMIN輸入從CODEC送來的PCM信號,AC48302內部的DSP按照相應標準(如G.729)壓縮后從HPI給路由器CPU轉發。PCMOUT則相反,AC48302將路由器CPU送來的語音數據按照合適的標準解壓縮,然后從PCMOUT口送到外部CODEC,CODEC經過數/模轉換后恢復成語音信號?熏通過用戶接口送給用戶端。PCMCLK提供2.048MHz的比特同步時鐘,而PCMFS提供8kHz的幀同步時鐘。
2.3.2 HPI接口
在本設計中,路由器CPU與AC48302通過HPI口進行通信。路由器CPU和DSP通過AC48302的片內共享的雙口存儲器實現數據交互。片內共享存儲器的映射關系見圖4。
HPI接口包括1根8位數據總線和幾根控制總線。路由器CPU通過三個寄存器(HPIC、HPIA和HPID)控制AC48302及訪問片內存儲空間。HPIC為控制寄存器,用來選擇AC48302的高低字節順序、產生和接收中斷。HPIA為地址寄存器,用來尋址片內的2K存儲空間。HPID為數據寄存器,用來緩存每次讀寫的兩個字
節數據,外部CPU可以單個Word或塊數據方式訪問HPID,當以塊數據方式訪問時,HPIA寄存器自動累加,這樣可以減少外部CPU寫HPIA寄存器的開銷。AC48302的內部寄存器和存儲器為16位寬度,因此外部CPU每次訪問AC48302必須以兩個字節為基本單位,信號線HI/LO用來選擇高低字節,信號HRS1、HRS0指示當前訪問的是哪個寄存器。除了以上兩個重要的接口外,AC48302內部還包含一個PCM時鐘發生器、一個用于測試的JTAG接口以及一個用于訪問外部SRAM及處理信道輔助信令的Memory&I/O接口。
2.4 CODEC接口芯片
CODEC芯片負責對DSP解壓縮后送來的PCM數據進行解碼,并將濾波后的模擬語音信號送到用戶線接口芯片SLIC,SLIC對其進行2-4線轉換后送給用戶端;同時,CODEC還負責將SLIC送來的模擬語音信號進行PCM編碼,然后送到DSP芯片進行壓縮處理。
本設計中,CODEC芯片采用IDT公司的4通道PCM編解碼芯片IDT821034。該芯片具有可編程增益設置、主時鐘可選(2.048MHz、4.096MHz和8.192MHz)、較大可支持128個可編程時隙、A律/μ律可選、內置數字濾波器、串行控制接口、低功耗等特點。本設計中選用主時鐘為2.048MHz(E1幀模式),可劃分為32個相等的時隙(Slot0~Slot31),4個通道的接收和發送時隙可通過向串行控制口寫入控制字進行動態選擇。各時隙的位置都以8kHz的幀同步時鐘信號為參考,在IDT821034中,時隙0相對幀同步脈沖的位置有延遲模式和非延遲模式(圖6即為非延遲模式)。
PCM主時鐘(BCLK)、幀同步時鐘(FS)、接收數據(DR)和發送數據(DX)一起構成PCM Highway信號,與AC48302進行連接。BCLK與FS分別對應AC48302的PCMCLK和PCMFS,這兩個時鐘信號都由AC48302 產生;DR和DX分別對應AC48302的PCMOUT和PCMIN。PCM Highway信號時序以及時隙與幀同步信號的關系分別如圖5、圖6所示。為了CODEC與DSP芯片間正確收發數據,一般選擇CODEC芯片在BCLK的上升沿發送數據DX,下降沿采樣數據DR,而在另一端的AC48302,則在時鐘下降沿采樣PCMIN,上升沿發送PCMOUT。
2.5 用戶線接口(SLIC)芯片
設計中為了使語音卡能夠提供FXS接口功能,采用了愛立信公司的新型SLIC芯片PBL83710連接用戶接口。在該芯片內部能夠產生高電壓鈴流信號及提供自動電池饋電切換,具有環流振鈴和地鍵檢測功能及2-4線轉換功能。該芯片將許多傳統的振鈴繼電器、鈴流發生器等器件集成在一個片內,節省了印制板空間和成本。
3 VoIP語音卡硬件驅動流程
硬件驅動程序主要完成以下功能:
(1)初始化PLX9030芯片,配置相關寄存器,選擇本地總線工作方式。
(2)初始化AC48302芯片,啟動AC48302內部的DSP內核到正常工作狀態。AC48302的啟動步驟按順序分為以下幾步:核代碼(Kernel)下載;程序代碼(Program)下載;初始化模式;啟動運行。
(3)驅動語音卡的正常操作。接收處理摘掛機中斷,將SLIC置于正確狀態;配置CODEC芯片的各通道收發數據時隙以及CODEC芯片的增益控制;接收處理AC48302數據包處理中斷,AC48302每處理完一個語音數據包就通過中斷方式通知路由器CPU讀取當前Buffer中的數據或向Buffer寫入下一個數據包。
本文采用的是FXS接口,只要對CODEC后面部分電路稍加改動即可實現FXO或E&M接口功能。目前,該語音卡方案在路由器產品中已獲廣泛采用。
硬件設計論文:機載數字視頻記錄系統的軟、硬件設計
摘要:通過嵌入式計算機PC104對MPEG A/V編碼芯片SZ1510進行配置和控制,可以縮短研制高性能航空機載環境下數字式彩色視頻記錄儀的開發時間。文中詳細介紹了該機載數字視頻記錄系統的軟、硬件設計思想及注意事項。 關鍵詞:SZ1510;視頻記錄;PC104;新型飛機
機載視頻記錄系統在飛行員的日常訓練中發揮著十分重要的作用。該系統可以實時記錄飛行器的飛行及訓練過程中的各種信息,能夠直觀、真實的反映飛行員在空中的飛行和操作情況。通過地面回放設備的回放,飛行員可以地把握自身的不足并及時改進,從而提高訓練水平。但由于視頻信號數據量大,技術要求高,國產飛機大多沒有信息監視和記錄系統。為了提高我軍戰機的作戰性能研制一種信息監視和記錄系統迫在眉睫。
隨著大規模集成電路的發展,采用數字圖像壓縮技術實現高壓縮比、高質量的圖像數字壓縮記錄系統已成為可能。數字化的記錄方法可以將視頻數據經過壓縮記錄在大容量的存儲器上,并能有效消除噪聲、增加記錄時間、加快拷貝和復制速度,快速回放和查找,同時還可以快速地通過計算機網絡進行傳送。基于以上原因,筆者為某新型飛機研制了高性能的適于航空機載環境的數字式彩色視頻記錄系統。本記錄系統的核心芯片選用以色列Zepax公司的SZ1510 MPEG-1編碼芯片。
1 工作原理
圖1所示是本記錄系統的結構組成示意圖。整個系統由三大部分組成,即壓縮控制部分、存儲部分和電源部分三大模塊。其中壓縮部分由一路MPEG-1音視頻壓縮電路和控制單元PC-104組成,主要功能是實現對輸入音視頻信號的數字壓縮。存儲部分由大容量硬盤組成,用于完成對壓縮數據的長時間記錄。電源部分負責對各模塊電路提供電源。
在系統啟動時,主控計算機首先對壓縮卡進行初始化,當設置好MPEG-1壓縮格式及數據速率后,壓縮卡開始工作,并在主控計算機的控制下將壓縮后的圖像數據寫入硬盤。在工作過程中,主控計算機還將不斷監視相關信號,并在圖像中加入相應的標志,直到接收到關機信號,系統自動結束壓縮卡的工作,并關閉主機。
2 系統硬件設計
整個系統的核心是以色列Zepax公司的SZ1510 MPEG-1編碼芯片,它由PC104控制,另外,該系統還包括PCI橋芯片PLX9030以及視頻解碼芯片SAA7113等。
2.1 SZ1510芯片簡介
Zepax公司的SZ1510IC內部采用可編程的專業硬件體系結構,它可以高效使用存儲器,并能合理進行資源分配。內核采用TI公司的TMS320C54X高性能DSP來完成MPEG1音頻編碼、解碼以及CD格式的音/視頻流的組合,同時進行一般的系統控制。
該芯片具有功能多、功耗小、溫度范圍寬等特點,其組成電路如圖2所示。它主要由運動估計與補償單元、DCT與反DCT變換單元、可變長編碼單元、控制單元、SDRAM接口單元、通用總線接口單元組成。內部的壓縮處理采用流水線結構,開機后只需簡單的初始化即可獨立工作,同時自動送出壓縮好的數據。外部電路的時鐘為27MHz,工作電壓為3.3V。
系統中的視頻壓縮有三種比特率可供選擇,其中恒定比特率需要填充冗余,較大比特率不需要填充冗余,而可變比特率的壓縮質量比較恒定,但比特率可變。音頻壓縮部分支持3244.1及48kHz取樣率以及音頻PCM、實時MPEG12層音頻編碼等。
2.2 PC104計算機簡介
考慮到控制單元的體積、性和控制能力,可選用嵌入式計算機PC104作為主控單元。根據視頻壓縮的特點,推薦選擇安普公司的AmproP5E/266產品,該產品溫度特性好、功能強大、性高、軟硬件移植方便且易于調試。
3 軟件設計
SZ1510共有128個寄存器,每個寄存器都有一個索引號。外界對這些寄存器的訪問都是通過IOARI/O Adress Register和IODR(I/O Data Register)來完成的。訪問時首先將這個寄存器的索引號寫入IOAR然后將要寫的數據寫入IODR,這樣,SZ1510即可自動把數據送到某個寄存器。
主機訪問SZ1510是通過PLX9030進行的。對PLX9030中寄存器的訪問通常是按內存方式進行的,其方法是常規段加偏移方式。不過,它的寄存器訪問總線寬度有的是16bits(如0x4c),有的是32bits(如0x50),具體可參考有關文獻(5)。
3.1 硬件初始化
對系統硬件的初始化主要是初始化PLX9030和SZ1510。PLX9030的初始化比較簡單,一是使能中斷,向寄存器0x4c中寫入0x0041,二是對PLX9030的Local bus進行軟復位,即先將寄存器0x50的第30位置1,再將其置0。
SZ1510的初始化過程如下:
(1)向中斷使能寄存器寫入0x40,以使能Ready中斷;
(2)等待SZ1510的Ready中斷;
(3)等到Ready中斷后,向SZ1510的0x1E寄存器寫入0x0A,設置它內部的DSP時鐘為94.5MHz;
(4)向0x013寄存器寫入0x55,對SZ1510進行軟復位;
(5) 向中斷使能寄存器0x0C寫入0x40使能Ready中斷;
(6) 等候RDY中斷;
(7) 待Ready中斷后對SAA7113進行初始化;
(8) 對SZ1510進行軟復位,即向0x0B寄存器寫入0x55,同時向0x0C寄存器寫入0x40;
(9) 等待Ready中斷,等到后向SZ1510的內部DSP裝載二進制代碼;
(10)進行SZ1510內部視頻壓縮核的二進制代碼裝載。
3.2 SZ1510二進制代碼的裝載
SZ1510 內部有一段程序空間,可用來裝載二進制代碼。這段空間以塊(Blank)為單位,每塊的大小是256字節。
用于視頻編碼核的二進制代碼的裝載空間為0x000~0x004和0x00c等六個塊,共1.5k字節代碼。具體裝載的步驟如下:
(1) 向0x2E寄存器寫0x01,表示外部的SDRAM是1M×16bits;
(2) 向0x0C寄存器寫0x03,使能FIFO Ready 和 End of Data中斷;
(3) 向0x11寄存器寫0x1,設定工作模式為內部內存寫模式;
(4)向0x10寫0x20,設定SZ1510下轉第10頁(上接第6頁)輸出數據的FIFO大小為256字節;
(5)對每塊程序空間進行二進制代碼裝載,具體過程如下:
向0x08寄存器寫0x04,發送開始命令;
等待Ready中斷,清除Ready中斷;
向Data in寄存器0x01寫256個字節;
等待End of Data中斷,然后清除中斷;
(6)查程序空間的代碼是否裝載完畢,如沒有,回到(5)繼續裝載。
3.3 SZ1510視頻數據的獲取
SZ1510內部有一個256字節的FIFO。一旦該FIFO滿,即產生一個FIFO Ready中斷,以通知主機讀取FIFO中的數據,然后通過256次讀Data
out寄存器來完成數據傳輸。
4 注意事項SZ1510芯片的PLL PCB設計要求如下
(1)應用設計EMI濾波裝置以減少VDDA的電源噪聲。
(2)LPF到SZ1510的整體電路管腳長度應當小于0.5英寸。
(3)設計PCB時,外部LPF應盡量接近封裝腳。
(4)VDDA和VSSA端應接0.1μF的旁路電容以減少噪音。
硬件設計論文:嵌入式系統硬件抽象層的建立及軟件的可移植性設計
摘要:在闡述嵌入式系統軟件設計方法的基礎上,介紹嵌入式系統底層軟件可移值性設計和硬件抽象層的建立;舉例說明利用此思想的嵌入式軟件的設計及測試過程。 關鍵詞:設備驅動程序 嵌入式系統 軟件設計 可移植性
1 嵌入式系統設計
由于嵌入式系統有著體積小、功能集中、性高等優點,已被廣泛地應用到日常生活的各個方面,如移動通信、工業控制、醫療器械,家用電器等。如何縮短嵌入式系統的開發周期,降低開發成本,以及提高產品的性已成為嵌入式行業普遍關注的問題。在嵌入式系統設計中,通常采用以下設計方法。
(1)瀑布模式開發過程
瀑布模式開發過程工作模式簡單,任務的劃分協調及人員安排、物質材料的分配管理都比較容易。如圖1所示,開發過程為從硬件到軟件的流水線式進行。此類開發方式有以下特點:
小系統,如利用8051控制的低速率信號采集等;
開發所需人力、物力資源有限,一般1個或幾個人即可完成;
要求開發人員對軟、硬件設計和制作都比較熟悉;
對開發周期要求不高,此類開發過程無疑會使用最長的開發周期;
在開發過程中,任一環節的阻塞都會影響其它環節的開發。
(2)V模式開發過程
V模式開發過程為一種并行的工作方式,任務的劃分協調及人員安排、物質材料的分配都必須考慮不同工作內容,如圖2 所示。
開發過程為硬件和軟件同時進行,聯合調試。此類開發方式有以下特點:
大系統,如利用PowerPC等處理器設計的網絡交換/訪問設備;
開發人力、物力資源比較豐富;
開發人員分工比較明確,軟件開發者可不需了解太多的硬件信息,而硬件開發人員對軟件也可不做太多了解;
有利于縮短開發周期;
在開發過程中,軟、硬件設計獨立進行。 硬件開發的阻塞不會影響軟件開發過程,同樣,軟件開發的阻塞不會影響硬件的開發過程。
但在V模式開發過程中,仍存在以下問題:
設備驅動程序的可移值性差,與硬件和操作系統均有密切相關性;
軟件測試需要等硬件完成以后才能進行;
對于每個設備驅動程序設計人員都需有軟件和硬件的知識背景;
在測試過程中,很難判斷錯誤是由硬件還是由軟件造成的。
為了克服V模式開發過程中的上述問題,本文將V模式開發過程稍作改進,增加了硬件抽象層,對系統軟硬件起到隔離作用,從而提高系統軟件的可移值性及有效地利用人力資源、縮短開發周期和提高產品的性。
2 基于硬件抽象層的系統軟件設計特性
(1)包含硬件抽象層的系統結構
比較圖3和圖4,硬件抽象層把系統軟件和硬件部分隔離開來,這樣就使得系統的設備驅動程序與硬件設備無關,從而大大提高了系統的可移植性。從軟硬件測試角度來看,軟硬件的測試工作都可分別基于硬件抽象層來完成,使得軟硬件的測試工作的并行進行成為可能。在抽象層的定義方面,需要規定統一的軟硬件接口標準,其設計工作需要基于系統需求來做,代碼工作可由對硬件比較熟悉的人員來完成。抽象層一般應包含相關硬件的初始化、數據的輸入/輸出操作、硬件設備的配置操作等功能。
(2)包含硬件抽象層的系統開發過程
如圖5給出的包含硬件抽象層V模式開發過程,在系統需求分析并定義了軟硬件各自的設計要求以后,就需要花費一定的時間來定義硬件抽象層的接口,以確保硬件設計和測試與軟件設計和測試工作能夠在相同的接口上進行,從而有利于最終的軟硬件集成測試。
從圖5可以看出,在基于硬件抽象層的V模式開發過程,軟硬件的設計和調試具有無關性,并可地并行進行。硬件的錯誤不會影響到系統軟件的調試,同樣軟件設計的錯誤也不會影響硬件的調試工作,這樣就可大大縮短系統的測試周期和提高系統的性。
(3)硬件抽象層的特點
硬件抽象層接口的定義和代碼設計應具有以下特點:
硬件抽象層具有與硬件密切相關性;
硬件抽象層具有與操作系統無關性;
接口定義的功能應包含硬件或系統所需硬件支持的所有功能;
接口定義簡單明了,太多接口函數會增加軟件模擬的復雜性;
具有可測性的接口設計有利于系統的軟硬件測試和集成。
3 硬件抽象層的設計示例
硬件抽象層接口的設計一般應包含以下幾個步:
分析接口的數據傳輸特性(雙向/單向數據傳輸,字節型/數據幀型傳輸模式);
分析接口配置屬性;
定義接口所需的相關函數。
下面給出以字符為單位進行數據傳輸的UART接口硬件抽象層的接口定義內容:
設備初始化函數
BOOL InitDevice(Device_Register *regs, Device_Attribute *attr)
① 及時個參數為指向設備寄存器結構的指針,用來索引設備的相關寄存器。
② 第二個參數為一個設備屬性的結構,用于描述設備初始化設置的屬性(波特率、校驗位等等)。
③ 函數返回一個布爾類型,用于描述初始化過程的正確性。
設備字符>!
BOOL ReadDevice(Device_Register *regs, unsigned char *c)
① 及時個參數為指向設備寄存器結構的指針,用來索引設備的相關寄存器。
② 第二個參數為指向字符的地址空間,用于保存設備輸入的字符。
③ 函數返回一個布爾類型,用于描述設備字符輸入的正確性。
設備字符輸出
BOOL WriteDevice(Device_Register *regs, unsigned char c)
① 及時個參數為指向設備寄存器結構的指針,用來索引設備的相關寄存器。
② 第二個參數為設備所要輸出的字符。
③ 函數返回一個布爾類型,用于描述設備字符輸出的正確性。 設備屬性設置
BOOL SetDevice(Device_Register *regs, Device_Attribute *attr)
① 及時個參數為指向設備寄存器結構的指針,用來索引設備的相關寄存器。
② 第二個參數為一個設備屬性的結構,用于描述設備初始化設置的屬性(波特率、校驗位等等)。
③ 函數返回一個布爾類型,用于描述設備屬性設置的正確性。
4 結 論
以上所述的是作者在多年嵌入式系統開發中所總結出的開發流程,并在實踐應用中起到了很好的效果。相信在一個較為復雜的嵌入式系統開發過程中,很好地利用上述開發流程,將會有利于提高系統的可移植性、減少產品的開發和測試周期,并能很好地保障產品的性。