① 使用外部晶振時如何配置晶元的引腳
(1).外接晶體體時;XTAL1與XTAL2都要配置為模擬輸入
(2).外接振盪電路為「RC」或「C」方式時,XTAL2引腳要配置為模擬輸入
(3).外接CMOS時鍾電路時,XTAL2引腳要配置為數字輸入
(4).以上幾種方式在引腳的配置中都要使用跳過功能將此引腳跳過
② 如何實現gpio口模式的配置
一、 STM32的輸入輸出管腳有下面8種(4輸入 2輸出 2復用輸出)可能的配置:
① 浮空輸入_IN_FLOATING
② 帶上拉輸入_IPU
③ 帶下拉輸入_IPD
④ 模擬輸入_AIN
⑤ 開漏輸出_OUT_OD
⑥ 推挽輸出_OUT_PP
⑦ 復用功能的推挽輸出_AF_PP
⑧ 復用功能的開漏輸出_AF_OD
1.1 I/O口的輸出模式下,有3種輸出速度可選(2MHz、10MHz和50MHz),這個速度是指I/O口驅動電路的響應速度而不是輸出信號的速度,輸出信號的速度與程序有關(晶元內部在I/O口 的輸出部分安排了多個響應速度不同的輸出驅動電路,用戶可以根據自己的需要選擇合適的驅動電路)。通過選擇速度來選擇不同的輸出驅動模塊,達到最佳的雜訊控制和降低功耗的目的。高頻的驅動電路,雜訊也高,當不需要高的輸出頻率時,請選用低頻驅動電路,這樣非常有利於提高系統的EMI性能。當然如果要輸出較高頻率的信號,但卻選用了較低頻率的驅動模塊,很可能會得到失真的輸出信號。
輸出速度又稱輸出驅動電路的響應速度,可理解為:輸出驅動電路的帶寬,即一個驅動電路可以不失真地通過信號的最大頻率。
如果一個信號的頻率超過了驅動電路的響應速度,就有可能信號失真。如果信號頻率為10MHz,而你配置了2MHz的帶寬,則10MHz的方波很可能就變成了正弦波。就好比是公路的設計時速,汽車速度低於設計時速時,可以平穩地運行,如果超過設計時速就會顛簸,甚至翻車。
關鍵是: GPIO的引腳速度跟應用相匹配,速度配置越高,雜訊越大,功耗越大。
帶寬速度高的驅動器耗電大、雜訊也大,帶寬低的驅動器耗電小、雜訊也小。使用合適的驅動器可以降低功耗和雜訊。
GPIO的引腳速度跟應用匹配(推薦10倍以上)。比如:
1.1.1 對於串口,假如最大波特率只需115.2k,那麼用2M的GPIO的引腳速度就夠了,既省電也雜訊小。
1.1.2 對於I2C介面,假如使用400k波特率,若想把餘量留大些,那麼用2M的GPIO的引腳速度或許不夠,這時可以選用10M的GPIO引腳速度。
1.1.3 對於SPI介面,假如使用18M或9M波特率,用10M的GPIO的引腳速度顯然不夠了,需要選用50M的GPIO的引腳速度。
1.2 GPIO口設為輸入時,輸出驅動電路與埠是斷開,所以輸出速度配置無意義。
1.3 在復位期間和剛復位後,復用功能未開啟,I/O埠被配置成浮空輸入模式。
1.4 所有埠都有外部中斷能力。為了使用外部中斷線,埠必須配置成輸入模式。
1.5 GPIO口的配置具有上鎖功能,當配置好GPIO口後,可以通過程序鎖住配置組合,直到下次晶元復位才能解鎖。
二、GPIO的翻轉速度指:輸入/輸出寄存器的0 ,1 值反映到外部引腳(APB2上)高低電平的速度.手冊上指出GPIO最大翻轉速度可達18MHz。通過簡單的程序測試,用示波器觀察到的翻轉時間是綜合的時間,包括取指令的時間、指令執行的時間、指令執行後信號傳遞到寄存器的時間(這其中可能經過很多環節,比如AHB、APB、匯流排仲裁等),最後才是信號從寄存器傳輸到引腳所經歷的時間。如有上拉電阻,其阻值越大,RC延時越大,即邏輯電平轉換的速度越慢,功耗越大。
三、在STM32中如何配置片內外設使用的IO埠
首先,一個外設經過 ①配置輸入的時鍾和 ②初始化後即被激活(開啟);③如果使用該外設的輸入輸出管腳,則需要配置相應的GPIO埠(否則該外設對應的輸入輸出管腳可以做普通GPIO管腳使用);④再對外設進行詳細配置。
對應到外設的輸入輸出功能有下述三種情況:
① 外設對應的管腳為輸出:需要根據外圍電路的配置選擇對應的管腳為復用功能的推挽輸出或復用功能的開漏輸出。
② 外設對應的管腳為輸入:則根據外圍電路的配置可以選擇浮空輸入、帶上拉輸入或帶下拉輸入。
③ ADC對應的管腳:配置管腳為模擬輸入。
如果把埠配置成復用輸出功能,則引腳和輸出寄存器斷開,並和片上外設的輸出信號連接。將管腳配置成復用輸出功能後,如果外設沒有被激活,那麼它的輸出將不確定。
四、 通用IO埠(GPIO)初始化
4.1 GPIO初始化
41.1 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | B | C, ENABLE):使能APB2匯流排外設時鍾;
41.2 RCC_ APB2PeriphResetCmd (RCC_APB2Periph_GPIOA | B | C, DISABLE):釋放GPIO復位。
4.2 置各個PIN埠(模擬輸入_AIN、輸入浮空_IN_FLOATING、輸入上拉_IPU、輸入下拉_IPD、開漏輸出_OUT_OD、推挽式輸出_OUT_PP、推挽式復用輸出_AF_PP、開漏復用輸出_AF_OD)。
4.3GPIO初始化完成。
五、 的GPIO操作函數
uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//讀GPIO某一位的輸入
uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);//讀GPIO的輸入
uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//讀GPIO某一位的輸出
uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);//讀GPIO的輸出
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//將GPIO的某個位置位
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);//將GPIO的某個位復位
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);//寫GPIO的某個位
void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);//寫GPIO
六、管腳的復用功能 重映射
1、復用功能:內置外設是與I/O口共用引出管腳(不同的功能對應同一管腳)
STM32 所有內置外設的外部引腳都是與標准GPIO引腳復用的,如果有多個復用功能模塊對應同一個引腳,只能使能其中之一,其它模塊保持非使能狀態。
2、重映射功能:復用功能的引出腳可以通過重映射,從不同的I/O管腳引出,即復用功 能的引出腳位是可通過程序改變到其他的引腳上!
直接好處:PCB電路板的設計人員可以在需要的情況下,不必把某些信號在板上繞一大圈完成聯接,方便了PCB的設計同時潛在地減少了信號的交叉干擾。
如:USART1: 0: 沒有重映像(TX/PA9,RX/PA10); 1: 重映像(TX/PB6,RX/PB7)。
(參考AFIO_MAPR寄存器介紹)[0,1為一寄存器的bit值]
【注】 下述復用功能的引出腳具有重映射功能:
- 晶體振盪器的引腳在不接晶體時,可以作為普通I/O口
- CAN模塊; - JTAG調試介面;- 大部分定時器的引出介面; - 大部分USART引出介面
- I2C1的引出介面; - SPI1的引出介面;
舉例:對於STM32F103VBT6,47引腳為PB10,它的復用功能是I2C2_SCL和 USART3_TX,表示在上電之後它的默認功能為PB10,而I2C2的SCL和USART3的TX為它的復用功能;另外在TIM2的引腳重映射後,TIM2_CH3也成為這個引腳的復用功能。
(1)要使用STM32F103VBT6的47、48腳的USART3功能,則需要配置47腳為復用推挽輸出或復用開漏輸出,配置48腳為某種輸入模式,同時使能USART3並保持I2C2的非使能狀態。
(2)使用STM32F103VBT6的47腳作為TIM2_CH3,則需要對TIM2進行重映射,然後再按復用功能的方式配置對應引腳。
③ FPGA的引腳如何配置
一一回答,從簡單到復雜。
首先說IO standard:這個是用於支持對應不同的電平標准。FPGA IO口的電壓由IO bank上的VCC引入。一個bank上引入3.3V TTL電平,那麼此時整個bank上輸出3.3V的TTL電平。設置這個第一是為了和current strength一起計算功率。第二個是用於在IO口上載入正確的上拉/下拉電阻。只要你設置完成,Quartus會按照你的電平標准自動布線。
第二是IO Bank:你在quartus pin planner 的top view下右鍵然後點擊 show IO banks,這個時候就會看到FPGA的管腳被幾種顏色劃分開了。一種顏色下的IO口代表一組bank。你在吧管腳的location約束完成以後。IO Bank會自動填充完畢的。
第三是Group:Group就是你所輸出的信號的名字啦。比如你有一組信號叫cnt。你對cnt的某一根賦值,那麼。。這里的Group會自動填充為cnt 。
第四是Reserved:這個是對管腳內部的IO邏輯進行約束的,你在下面可以看到一些值。介紹幾個吧。bidrectional:雙向,tri-state:三態等等。這個約束的是FPGA在IO端的輸入輸出區域的邏輯。比如你選擇tri-state。那麼這個時候,在你IO口前部的IO區,quartus會自動給你生成一個三態門。
第五個是Vref Group:這個Group是bank內部的細分區域,因為一個bank可能多達60個腳。為了快速定位,你可以利用這個vref group來找到某個管腳。(這個是非修改屬性)無法修改。
你的理解是正確的,另外,跨越IO bank的信號沒有問題。只是注意跨bank的電平是否一致即可。對於跨IO bank的延遲對於FPGA而言沒有多少延遲。
管腳分配呢,你可以看一下quartus裡面pin planner內部那張 top view對於每個管腳的說明。大多數管腳是可以當做普通IO使用的。只是有些特殊要求的時候。只可以使用對應的IO,比如差分輸入,高時鍾輸入等等。這個是要參照對應器件的IO 手冊來決定的。而且對應的設計大多數的器件生產商都會給出參考設計。裡麵包括了IO的設計,pcb的設計以及內部程序埠的約束。所以具體問題具體分析。
④ 主板電源晶元引腳定義
主板電源晶元引腳,是在電子設備系統中擔負起對電能的變換、分配、檢測及其他電能管理的職責的晶元。主要負責識別CPU供電幅值,產生相應的短距波,推動後級電路進行功率輸出。常用電源管理晶元有HIP6301、IS6537、RT9237、ADP3168、KA7500、TL494等。
主要電源管理晶元有的是雙列直插晶元,而有的是表面貼裝式封裝,其中HIP630x系列晶元是比較經典的電源管理晶元,由著名晶元設計公司Intersil設計。
支持兩/三/四相供電,支持VRM9.0規范,電壓輸出范圍是1.1V-1.85V,能為0.025V的間隔調整輸出,開關頻率高達80KHz,具有電源大、紋波小、內阻小等特點,能精密調整CPU供電電壓。
(4)電子系統設計如何配置引腳擴展閱讀:
主板電源晶元提高性能方法
所有電子設備都有電源,但是不同的系統對電源的要求不同。為了發揮電子系統的最佳性能,需要選擇最適合的電源管理方式。
首先,電子設備的核心是半導體晶元。而為了提高電路的密度,晶元的特徵尺寸始終朝著減小的趨勢發展,電場強度隨距離的減小而線性增加,如果電源電壓還是原來的5V,產生的電場強度足以把晶元擊穿。
所以,電子系統對電源電壓的要求就發生了變化,也就是需要不同的降壓型電源。為了在降壓的同時保持高效率,一般會採用降壓型開關電源。
同時,許多電子系統還需要高於供電電壓的電源,比如在電池供電設備中,驅動液晶顯示的背光電源,普通的白光LED驅動等,都需要對系統電源進行升壓,這就需要用到升壓型開關電源。
此外,現代電子系統正在向高速、高增益、高可靠性方向發展,電源上的微小干擾都對電子設備的性能有影響,這就需要在雜訊、紋波等方面有優勢的電源,需要對系統電源進行穩壓、濾波等處理,這就需要用到線性電源。
上述不同的電源管理方式,可以通過相應的電源晶元,結合極少的外圍元件,就能夠實現。可見,發展電源管理晶元是提高整機性能的必不可少的手段。
⑤ 怎樣利用keil配置單片機的引腳
單片機的引腳配置是通過編程來完成的,不同的單片機配置方法也不同,AVR單片機是通過專門的程序代碼將I/O引腳設置成不同的工作狀態,STM32單片機是通過專門的寄存器函數或庫函數對引腳進行配置,而AT89等單片機都是准雙向I/O口,STC單片機除了准雙向功能外,也可以通過寄存器設置進行不同的配置。
⑥ 開關矩陣如何配置單片機引腳功能
這個好處理,比如4*4,用一個P口就可以了,高四位接行矩陣,低四位接列矩陣。8*8的話,用兩個P口,一個P 口接行矩陣,一個P口接列矩陣。
⑦ 電子系統設計流程有哪幾步
方案比較選擇,方案論證,工作原理,測試方案,測試儀器選擇,數據分析,系統總結。
⑧ fpga的引腳如何配置 請問FPGA的引腳如何配置
FPGA是英文Field-Programmable Gate Array的縮寫,即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定製電路而出現的,既解決了定製電路的不足,又克服了原有可編程器件門電路數有限的缺點。
【FPGA工作原理】
FPGA採用了邏輯單元陣列LCA(Logic Cell Array)這樣一個新概念,內部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內部連線(Interconnect)三個部分。FPGA的基本特點主要有:
1)採用FPGA設計ASIC電路,用戶不需要投片生產,就能得到合用的晶元。
2)FPGA可做其它全定製或半定製ASIC電路的中試樣片。
3)FPGA內部有豐富的觸發器和I/O引腳。
4)FPGA是ASIC電路中設計周期最短、開發費用最低、風險最小的器件之一。
5) FPGA採用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。
可以說,FPGA晶元是小批量系統提高系統集成度、可靠性的最佳選擇之一。
FPGA是由存放在片內RAM中的程序來設置其工作狀態的,因此,工作時需要對片內的RAM進行編程。用戶可以根據不同的配置模式,採用不同的編程方式。
加電時,FPGA晶元將EPROM中數據讀入片內編程RAM中,配置完成後,FPGA進入工作狀態。掉電後,FPGA恢復成白片,內部邏輯關系消失,因此,FPGA能夠反復使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片FPGA,不同的編程數據,可以產生不同的電路功能。因此,FPGA的使用非常靈活。
【FPGA配置模式】
FPGA有多種配置模式:並行主模式為一片FPGA加一片EPROM的方式;主從模式可以支持一片PROM編程多片FPGA;串列模式可以採用串列PROM編程FPGA;外設模式可以將FPGA作為微處理器的外設,由微處理器對其編程。
如何實現快速的時序收斂、降低功耗和成本、優化時鍾管理並降低FPGA與PCB並行設計的復雜性等問題,一直是採用FPGA的系統設計工程師需要考慮的關鍵問題。如今,隨著FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向發展,系統設計工程師在從這些優異性能獲益的同時,不得不面對由於FPGA前所未有的性能和能力水平而帶來的新的設計挑戰。
例如,領先FPGA廠商Xilinx最近推出的Virtex-5系列採用65nm工藝,可提供高達33萬個邏輯單元、1,200個I/O和大量硬IP塊。超大容量和密度使復雜的布線變得更加不可預測,由此帶來更嚴重的時序收斂問題。此外,針對不同應用而集成的更多數量的邏輯功能、DSP、嵌入式處理和介面模塊,也讓時鍾管理和電壓分配問題變得更加困難。
幸運地是,FPGA廠商、EDA工具供應商正在通力合作解決65nm FPGA獨特的設計挑戰。不久以前,Synplicity與Xilinx宣布成立超大容量時序收斂聯合工作小組,旨在最大程度幫助地系統設計工程師以更快、更高效的方式應用65nm FPGA器件。設計軟體供應商Magma推出的綜合工具Blast FPGA能幫助建立優化的布局,加快時序的收斂。
最近FPGA的配置方式已經多元化!
【FPGA主要生產廠商介紹】1、Altera2、Xilinx3、Actel4、Lattice其中Altera和Xilinx主要生產一般用途FPGA,其主要產品採用RAM工藝。Actel主要提供非易失性FPGA,產品主要基於反熔絲工藝和FLASH工藝。
⑨ 微電子系統設計的方法
嵌入式系統掉電保護的一種設計方法
摘要 在嵌入式系統設計過程中,系統的掉電保護越來越受到重視。本文介紹的方法是在用ARM7系列晶元S3C4510B和μClinux構建的嵌入式平台上實現的。整個掉電保護實現的基本思路是:產生掉電信號,捕捉掉電信號和處理掉電信號。重點介紹這個過程的具體實現。
關鍵詞 掉電保護 嵌入式系統 管道通信 原子操作
引 言
系統防掉電設計的目的是:採用一種機制,使得系統在意外失去供電的情況下,可以保證系統運行狀態的確定性以及記錄數據的完整性;當系統供電恢復後,現場數據可以及時恢復,避免應用系統產生混亂。我們知道,在嵌入式系統設計與開發中越來越多地應用嵌入式操作系統。由於操作系統的引入,數據的讀寫往往是通過文件的方式完成,而不是直接對存儲單元地址操作。用文件讀寫方式操作數據,在程序的運行過程中往往將數據暫存在易失性的存儲空間,如SDRAM,一旦系統意外失電,這些數據往往被丟失。因此,當系統意外失電時必須採取一定的措施進行系統的掉電保護,以避免系統產生混亂。總的說來,防掉電程序的主要思路就是:產生掉電信號,捕捉掉電信號,處理掉電信號和數據以及現場狀態的恢復。
如果不引入操作系統,直接對存儲單元進行數據操作,每次操作的數據量小,可以利用中斷服務的方式進行掉電保護[1];而用文件的方式進行數據操作,數據量一般比較大,因此基於中斷服務的方式進行掉電保護已經不再可靠。本文研究的對象是基於操作系統的較為復雜的嵌入式系統設計過程中的掉電保護。
1 掉電保護方案實現的系統基礎
掉電保護是在由ARM體系的硬體平台和μClinux嵌入式操作系統的基礎上實現的。
ARM7系列的微處理器支持八種類型的中斷處理[2]。外部中斷請求會在外部中斷引腳有效(一般是低電平),並且程序狀態寄存器相關位(即CPSR的I控制位)設置為允許時得到處理器響應。響應後處理器進入中斷工作模式,PC被裝人中斷向量0x00000018。在這個地址單元存放中斷服務程序人口地址,中斷服務程序就可以被執行。在掉電保護方案中,中斷服務程序很簡單,就是將表示掉電的全局變數置位即可。這樣可以縮短程序執行時間。
Flash存儲器是一種可在系統(in system)進行電擦寫,電後信息不丟失的存儲器。它具有低功耗、大容量、可整片或分扇區在系統編程(燒寫)、擦除等特點,並且可由內部嵌入的演算法完成對晶元的操作,因而在各種嵌入式系統中得到了廣泛的應用。作為一種非易失性存儲器。Flash在系統中通常用於存放程序代碼、常量表以及一些在系統掉電後需要保存的用戶數據等。常用的Flash為8位或16位的數據寬度,編程電壓為單3.3V。與Flash存儲器相比較,SDRAM不具有掉電保持數據的特性,但其存取速度大大高於Flash存儲器,且具有讀/寫的屬性,因此,SDRAM在系統中主要用作程序的運行空間、數據及堆棧區。當系統啟動時,CPU首先從復位地址0x0處讀取啟動代碼,在完成系統的初始化後,程序代碼一般應調入SDRAM中運行,以提高系統的運行速度,同時,系統及用戶堆棧、運行數據也都放在SDRAM中。SDRAM的存儲單元可以理解為一個電容,總是傾向於放電,為避免數據丟失,必須定時刷新(充電)。因此,要在系統中使用SDRAM,就要求微處理器具有刷新控制邏輯,或在系統中另外加入刷新控制邏輯電路,特別的情況是在系統失電後,要採取一種有效的機制確保將sDRAM中的數據寫入F1ash中。
2 基於掉電保護方案的硬體設計
圖1是一種典型的嵌入式系統硬體設計方案。系統的微處理器採用S3c4510B,是基於ARM7體系結構的。SDRAM是一種易失性存儲器作為程序的運行空間,類似於PC機的內存;Flash作為程序存儲空間是非易失性的。程序運行過程中的數據往往緩存在sDRAM中,在系統失電時必須寫往Flash。
在系統中,需要使用5V和3.3V的直流穩壓電礎F渲?S3C4510B及部分外圍器件需3.3V電源,另外部分器件需5V電源。為簡化系統電源電路的設計,要求整個系統的輸入電壓為高質量的5V的直流穩壓電源。有別於一般的電源迴路設計,本系統的電源迴路設計過程中增加了有關掉電保護的設計。包含這個設計的系統電源電路如圖2所示。