智能串口通信卡及其波特率配置方法
【專利摘要】本發(fā)明提供一種智能串口通信卡及其波特率配置方法,包括:多個可編程時鐘,控制器和串行通信芯片;其中,所述本地時鐘與所述多個可編程時鐘相連接,所述控制器與每個所述可編程時鐘相連,用于控制所述可編程時鐘并且為所述可編程時鐘提供配置參數(shù);所述多個可編程時鐘用于對所述本地時鐘的頻率進行倍頻形成倍頻時鐘,并根據(jù)所述倍頻時鐘和所述配置參數(shù)生成輸出信號。本發(fā)明所述的智能串口通信卡和配制方法,在本地晶振和控制器之間增加了一級可編程時鐘,與控制器實現(xiàn)了一個配置環(huán)路,能夠任意配置2bps~10Mbps范圍的波特率。
【專利說明】智能串口通信卡及其波特率配置方法
【技術領域】
[0001]本發(fā)明涉及串口通信卡領域,尤其涉及智能串口通信卡及其波特率配置方法。
【背景技術】
[0002]波特率(8311(1 1-^6)即調(diào)制速率,指的是信號被調(diào)制以后在單位時間內(nèi)的變化,即單位時間內(nèi)載波參數(shù)變化的次數(shù)。波特率是串行通信中非常重要的指標。目前市面上的串口卡種類較多,多數(shù)是基于標準波特率,且波特率范圍小于31如8 (1^8:兆位/秒),標準波特率下精度可達0.01%,非標準波特率只能達到1%,目前市場上大部分串口卡是在控制器內(nèi)部對于時鐘先倍頻然后再分頻的方法實現(xiàn),這就存在某些頻率不能準確產(chǎn)生的問題。
【發(fā)明內(nèi)容】
[0003]在下文中給出關于本發(fā)明的簡要概述,以便提供關于本發(fā)明的某些方面的基本理解。應當理解,這個概述并不是關于本發(fā)明的窮舉性概述。它并不是意圖確定本發(fā)明的關鍵或重要部分,也不是意圖限定本發(fā)明的范圍。其目的僅僅是以簡化的形式給出某些概念,以此作為稍后論述的更詳細描述的前序。
[0004]本發(fā)明提供一種智能串口通信卡,包括:多個可編程時鐘,控制器和串行通信芯片;
[0005]其中,
[0006]所述本地時鐘與所述多個可編程時鐘相連接,所述控制器與每個所述可編程時鐘相連,用于控制所述可編程時鐘并且為所述可編程時鐘提供配置參數(shù);
[0007]所述多個可編程時鐘用于對所述本地時鐘的頻率進行倍頻形成倍頻時鐘,并根據(jù)所述倍頻時鐘和所述配置參數(shù)生成輸出信號。
[0008]本發(fā)明還提供一種基于智能串口通信卡的波特率配置方法,包括:
[0009]將本地時鐘引入多個可編程時鐘,所述多個可編程時鐘對所述本地時鐘進行倍頻形成倍頻時鐘;
[0010]設定輸出信號的波特率,控制器根據(jù)所述設定的輸出信號的波特率需求計算所述多個可編程時鐘的配置參數(shù);
[0011]根據(jù)所述倍頻時鐘和所述配置參數(shù)生成輸出信號。
[0012]本發(fā)明所述的智能串口通信卡和配制方法,在本地晶振和控制器之間增加了一級可編程時鐘,與控制器實現(xiàn)了一個配置環(huán)路,能夠任意配置2如8?101如8范圍的波特率。
【專利附圖】
【附圖說明】
[0013]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0014]圖1為本發(fā)明中智能串口通信卡硬件示意圖;
[0015]圖2為本發(fā)明中基于智能串口通信卡的波特率配置方法流程圖;
[0016]圖3為本發(fā)明中計算配置參數(shù)流程圖;
[0017]圖4為本發(fā)明中計算分頻系數(shù)算法圖。
[0018]附圖標記:
[0019]10-本地時鐘;20-可編程時鐘;30-控制器;40-串行通信芯片。
【具體實施方式】
[0020]為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。在本發(fā)明的一個附圖或一種實施方式中描述的元素和特征可以與一個或更多個其它附圖或?qū)嵤┓绞街惺境龅脑睾吞卣飨嘟Y(jié)合。應當注意,為了清楚的目的,附圖和說明中省略了與本發(fā)明無關的、本領域普通技術人員已知的部件和處理的表示和描述。基于本發(fā)明中的實施例,本領域普通技術人員在沒有付出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0021]實施例一:
[0022]如圖1所示,本發(fā)明提供了一種智能串口通信卡,包括:多個可編程時鐘20,控制器30和串行通信芯片40,
[0023]其中,
[0024]所述本地時鐘10與所述多個可編程時鐘20相連接,所述控制器30與每個所述可編程時鐘20相連,用于控制所述可編程時鐘20并且為所述可編程時鐘20提供配置參數(shù);
[0025]所述多個可編程時鐘20用于對所述本地時鐘10的頻率進行倍頻形成倍頻時鐘,并根據(jù)所述倍頻時鐘和所述配置參數(shù)生成輸出信號。
[0026]本發(fā)明所述的智能串口通信卡針對目前市場上大部分串口卡在控制器內(nèi)部對于時鐘先倍頻再分頻的方法,不能準確產(chǎn)生某些頻率的波特率,在本地晶振和控制器之間增加了一級可編程時鐘,與控制器實現(xiàn)了一個配置環(huán)路,能夠任意配置2如8?10他%范圍的波特率,并且波特率精度可達0.01%。首先將本地50冊12時鐘引入多個可編程時鐘,控制器根據(jù)最后輸出信號的波特率計算所要配置給可編程時鐘的參數(shù)并將配置好的參數(shù)反饋提供給所述多個可編程時鐘,所述多個可編程時鐘將本地時鐘倍頻到2.5(^2,根據(jù)所述
2.56?的倍頻時鐘和配置參數(shù)生成輸出信號。
[0027]可選的,所述控制器40還包括判斷模塊和參數(shù)配置模塊;
[0028]所述判斷模塊用于判斷所述輸出信號的波特率是否不小于11如8,
[0029]若是,則所述參數(shù)配置模塊設置¢£113511111)161? 1:6為固定值16,081881111)16^81:6為與^^11(1成整數(shù)倍關系的數(shù)值,^811(1為所述輸出信號的波特率;
[0030]否則,所述參數(shù)配置模塊進行分頻并計算分頻系數(shù),所述分頻系數(shù)(114(161 =211^1)8/ (32^^811(1),所述分頻系數(shù)需轉(zhuǎn)換成無符號的長整型數(shù)據(jù),并向上取整,所述¢£113511111)161? 1:6需要通過計算得出。
[0031]當波特率大于等于11如8時,不需要分頻,所述參數(shù)配置模塊設置為固定值,即為所述輸出信號的波特率的16倍;
[0032]因為可編程時鐘輸出的最小時鐘有限,所以在低波特率的情況下需要在控制器內(nèi)部做分頻,即當波特率小于IMbps時,需要進行分頻,所述分頻系數(shù)divider = 2Mbps/(32*fbaud),并且將計算后的分頻系數(shù)轉(zhuǎn)化為無符號的長整型數(shù)據(jù),向上取整,所述calSampleRate 需要通過計算得出,calSampIeRate = fbaud*32*divider。
[0033]計算出calSampleRate 后,計算配置參數(shù) CAL_NUM = 2.5GHz/calSampleRate。根據(jù)上述配置參數(shù)的公式計算出所述配置參數(shù),通過控制器將其提供給可編程控制器。
[0034]上述配置參數(shù)CAL_NUM等效為A+B/C的形式,A為整數(shù)部分,C為固定值23°_1,B為小數(shù)部分相應計算出來的分子。
[0035]可選的,所述控制器還包括三個寄存器,所述三個寄存器分別用來存儲所述配置參數(shù)的A、B、C部分數(shù)值。將存儲的A、B、C數(shù)值和計算得出的分頻系數(shù)divider設定給控制器,所述控制器根據(jù)上述參數(shù)進行波特率的配置。
[0036]可選的,所述控制器還與所述串行通信芯片40相連,將數(shù)據(jù)按照波特率輸出給所述串行通信芯片40。所述可編程控制器為現(xiàn)場可編程門陣列,F(xiàn)PGA,作為專用集成電路領域中的一種半定制電路,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點,通過現(xiàn)場可編程門陣列來控制上述的多個高精度可編程時鐘,先將本地時鐘引入可編程時鐘,在將其倍頻,然后根據(jù)波特率的需要計算配置參數(shù)直到最后將波特率輸出給串行通信芯片,可以發(fā)揮其配置靈活,時序控制能力強的優(yōu)勢。
[0037]實施例二:
[0038]如圖2所示,本發(fā)明還提供一種基于智能串口通信卡的波特率配置方法,包括:
[0039]步驟10:將本地時鐘引入多個可編程時鐘,所述多個可編程時鐘進行倍頻形成倍頻時鐘;
[0040]步驟20:設定輸出信號的波特率,控制器根據(jù)所述設定的輸出信號的波特率需求計算所述多個可編程時鐘的配置參數(shù);
[0041]步驟30:根據(jù)所述倍頻時鐘和所述配置參數(shù)生成輸出信號。
[0042]本發(fā)明在本地時鐘和控制器之間增加了多個可編程時鐘,所述可編程時鐘與控制器形成了一個配置環(huán)路,可以實現(xiàn)高精度的波特率輸出。
[0043]首先將本地的50MHz時鐘引入多個可編程時鐘,將其倍頻到2.5GHz,然后根據(jù)設定的輸出信號的波特率需求計算配置參數(shù)。
[0044]可選的,如圖3所示,所述“控制器根據(jù)所述設定的輸出信號的波特率需求計算所述多個可編程時鐘的配置參數(shù)”包括:
[0045]判斷所述設定的輸出信號的波特率是否不小于IMbps ;
[0046]如果是,貝1J不需進行分頻,且設置calSampleRate為固定值16, calSampleRate為與fbaud成整數(shù)倍關系的數(shù)值,fbaud為所述輸出信號的波特率;
[0047]否則,需進行分頻并計算分頻系數(shù),所述分頻系數(shù)divider = 2Mbps/ (32*fbaud),所述分頻系數(shù)divider需轉(zhuǎn)換成無符號的長整型數(shù)據(jù),并向上取整,所述calSampleRate需要通過計算得出。
[0048]可選的,需要計算分頻系數(shù)時,所述calSampleRate = fbaud*32*divider。
[0049]所述計算分頻系數(shù)通過上位機中計算波特率分頻算法得出,如圖4所示,以保證2bps?1Mbps范圍內(nèi)都可以實現(xiàn)波特率的準確輸出。當不需要分頻的時候,calSampleRate = fbaud*16 ;當需要進行分頻的時候,所述分頻系數(shù)divider =2Mbps/(32*fbaud),并且將計算后的分頻系數(shù)轉(zhuǎn)化為無符號的長整型數(shù)據(jù),向上取整,calSampleRate = fbaud氺32氺divider。
[0050]可選的,所述配置參數(shù)為CAL_NUM,CAL_NUM = 2.5GHz/calSampleRate,所述配置參數(shù)CAL_NUM需要等效為A+B/C的形式,A為整數(shù)部分,C為固定值23°_1,B為小數(shù)部分相應計算出來的分子;將所述配置參數(shù)的A、B、C部分的數(shù)值分別存儲于控制器的三個寄存器中。
[0051]根據(jù)公式計算出的CAL_NUM是一個浮點數(shù),這樣可以將其等效為A+B/C的形式,A為整數(shù)部分,C為固定值23°-1,B為小數(shù)部分相應計算出來的分子,這樣將對應的數(shù)值分別配置到可編程時鐘的A,B和C寄存器中,控制器根據(jù)CAL_NUM和divider最終確定要輸出的波特率,從而實現(xiàn)從2pbs到1Mbps的高精度波特率配置。
[0052]可選的,所述控制器將數(shù)據(jù)按照波特率輸出給串行通信芯片。
[0053]下面舉例說明配置參數(shù)的具體過程,首先用戶要設定的波特率為9600bps,上位機根據(jù)分頻算法判斷其屬于小于1000000bps的范圍內(nèi),因此需要分頻;
[0054]根據(jù)計算分頻系數(shù)公式計算可得divider為7,然后計算calSampleRate為2150400Hz,然后計算 CAL_NUM 為 1162.5744047619047619047619047619 ;
[0055]將其分解為A,B 和 C 分別為,A = 1162,B = 616762416,C = 1073741823,這樣將A, B, C和divider設定給控制器FPGA,F(xiàn)PGA根據(jù)A,B和C配置可編程時鐘,然后在FPGA內(nèi)部將可編程時鐘產(chǎn)生的時鐘信號按照divider的值進行分頻,使得最終輸出給串行通信芯片的波特率為9600bps,至此完成一次波特率配置。
[0056]50MHz的有源時鐘晶振選用溫度范圍50ppm,高精度可編程時鐘步進Ippm,從而保證輸出波特率精度可達0.01 %。
[0057]在本發(fā)明上述各實施例中,實施例的序號和/或先后順序僅僅便于描述,不代表實施例的優(yōu)劣。對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
[0058]在本發(fā)明的裝置和方法等實施例中,顯然,各部件或各步驟是可以分解、組合和/或分解后重新組合的。這些分解和/或重新組合應視為本發(fā)明的等效方案。同時,在上面對本發(fā)明具體實施例的描述中,針對一種實施方式描述和/或示出的特征可以以相同或類似的方式在一個或更多個其它實施方式中使用,與其它實施方式中的特征相組合,或替代其它實施方式中的特征。
[0059]最后應說明的是:雖然以上已經(jīng)詳細說明了本發(fā)明及其優(yōu)點,但是應當理解在不超出由所附的權利要求所限定的本發(fā)明的精神和范圍的情況下可以進行各種改變、替代和變換。而且,本發(fā)明的范圍不僅限于說明書所描述的過程、設備、手段、方法和步驟的具體實施例。本領域內(nèi)的普通技術人員從本發(fā)明的公開內(nèi)容將容易理解,根據(jù)本發(fā)明可以使用執(zhí)行與在此所述的相應實施例基本相同的功能或者獲得與其基本相同的結(jié)果的、現(xiàn)有和將來要被開發(fā)的過程、設備、手段、方法或者步驟。因此,所附的權利要求旨在在它們的范圍內(nèi)包括這樣的過程、設備、手段、方法或者步驟。
【權利要求】
1.一種智能串口通信卡,其特征在于,包括:多個可編程時鐘,控制器和串行通信芯片; 其中, 所述本地時鐘與所述多個可編程時鐘相連接,所述控制器與每個所述可編程時鐘相連,用于控制所述可編程時鐘并且為所述可編程時鐘提供配置參數(shù); 所述多個可編程時鐘用于對所述本地時鐘的頻率進行倍頻形成倍頻時鐘,并根據(jù)所述倍頻時鐘和所述配置參數(shù)生成輸出信號。
2.根據(jù)權利要求1所述的智能串口通信卡,其特征在于,所述控制器還包括判斷模塊和參數(shù)配置模塊; 所述判斷模塊用于判斷所述輸出信號的波特率是否不小于1Mbps, 若是,則所述參數(shù)配置模塊設置calSampleRate為固定值16, calSampIeRate為與fbaud成整數(shù)倍關系的數(shù)值,fbaud為所述輸出信號的波特率; 否則,所述參數(shù)配置模塊進行分頻并計算分頻系數(shù),所述分頻系數(shù)divider = 2Mbps/(32*fbaud),所述分頻系數(shù)divider需轉(zhuǎn)換成無符號的長整型數(shù)據(jù),并向上取整,所述calSampleRate需要通過計算得出。
3.根據(jù)權利要求2所述的智能串口通信卡,其特征在于,需要計算所述分頻系數(shù)時,所述 calSampleRate = fbaud氺32氺divider。
4.根據(jù)權利要求2或3所述的智能串口通信卡,其特征在于,所述配置參數(shù)為:CAL_NUM, CAL_NUM = 2.5GHz/calSampleRate。
5.根據(jù)權利要求4所述的智能串口通信卡,其特征在于,將所述配置參數(shù)CAL_NUM等效為A+B/C的形式,A為整數(shù)部分,C為固定值23°-1,B為小數(shù)部分相應計算出來的分子。
6.根據(jù)權利要求5所述的智能串口通信卡,其特征在于,所述控制器還包括三個寄存器,所述三個寄存器分別用來存儲所述配置參數(shù)的A、B、C部分數(shù)值。
7.根據(jù)權利要求1所述的智能串口通信卡,其特征在于,所述控制器還與所述串行通信芯片相連,將數(shù)據(jù)按照波特率輸出給所述串行通信芯片。
8.一種基于智能串口通信卡的波特率配置方法,其特征在于,包括: 將本地時鐘引入多個可編程時鐘,所述多個可編程時鐘對所述本地時鐘進行倍頻形成倍頻時鐘; 設定輸出信號的波特率,控制器根據(jù)所述設定的輸出信號的波特率需求計算所述多個可編程時鐘的配置參數(shù); 根據(jù)所述倍頻時鐘和所述配置參數(shù)生成輸出信號。
9.根據(jù)權利要求8所述的基于智能串口通信卡的波特率配置方法,其特征在于,所述“控制器根據(jù)所述設定的輸出信號的波特率需求計算所述多個可編程時鐘的配置參數(shù)”包括: 判斷所述設定的輸出信號的波特率是否不小于IMbps ; 如果是,則不需進行分頻,且設置calSampleRate為固定值16, calSampleRate為與fbaud成整數(shù)倍關系的數(shù)值,fbaud為所述輸出信號的波特率; 否則,需進行分頻并計算分頻系數(shù),所述分頻系數(shù)divider = 2Mbps/ (32*fbaud),所述分頻系數(shù)divider需轉(zhuǎn)換成無符號的長整型數(shù)據(jù),并向上取整,所述calSampleRate需要通過計算得出。
10.根據(jù)權利要求9所述的基于智能串口通信卡的波特率配置方法,其特征在于,需要計算所述分頻系數(shù)時,所述calSampleRate = fbaud*32*divider。
11.根據(jù)權利要求9或10所述的基于智能串口通信卡的波特率配置方法,其特征在于,所述配置參數(shù)為 CAL_NUM,CAL_NUM = 2.5GHz/calSampleRate。
12.根據(jù)權利要求11所述的基于智能串口通信卡的波特率配置方法,其特征在于,還包括: 將所述配置參數(shù)CAL_NUM等效為A+B/C的形式,A為整數(shù)部分,C為固定值23°_1,B為小數(shù)部分相應計算出來的分子。
13.根據(jù)權利要求12所述的基于智能串口通信卡的波特率配置方法,其特征在于,“將所述配置參數(shù)CAL_NUM等效為A+B/C的形式”具體包括: 將所述配置參數(shù)的A、B、C部分的數(shù)值分別存儲于控制器的三個寄存器中。
14.根據(jù)權利要求8所述的基于智能串口通信卡的波特率配置方法,其特征在于,還包括: 控制器將數(shù)據(jù)按照波特率輸出給串行通信芯片。
【文檔編號】G06F13/42GK104298315SQ201410524614
【公開日】2015年1月21日 申請日期:2014年10月8日 優(yōu)先權日:2014年10月8日
【發(fā)明者】左毅, 王司洋, 孫嫻, 徐世昌, 朱雨 申請人:北京中科泛華測控技術有限公司