dsp的串行外設接口SPI SPI是一個高速同步串行輸入/輸出端口,傳送速率可編 程,應用:外部移位寄存器、D/A轉換器、A/D轉換器、 串行EEPROM、LED顯示驅動器等外部設備進行擴展。
上傳時間: 2014-11-24
上傳用戶:fandeshun
此程序是關于TMS320F2812數字信號處理器的高速同步串行通信SPI的程序。
上傳時間: 2017-01-03
上傳用戶:aix008
采用Xilinx 公司Virtex- II Pro 系列FPGA 內嵌得SERDES 模塊———RocketIO 作為高速串行協議的物理層, 利用其8B/10B的編解碼和串化、解串功能, 實現了兩板間基于數據幀的簡單高速串行傳輸, 并在ISE 環境中對整個協議進行了仿真, 當系統頻率為100MHz, 串行速率在2Gbps 時, 在驗證板上用chipscope 抓取的數據表明能夠實現兩板間數據的高速無誤串行傳輸。關鍵詞: RocketIO;高速串行傳輸;SERDES;協議
上傳時間: 2013-10-21
上傳用戶:xy@1314
TI公司的TMS320LF2407型DSP微控制器內嵌的異步串行口(SCI)支持CPU與其它使用標準格式的異步外設之間的數字通訊,通過RS-232接口可以方便地進行DSP之間或與PC機之間的異步通信。而串行外設接口(SPI)是一個高速同步串行輸入/輸出(I/O)端口,常用于DSP控制器和外部器件或其它控制器間的通訊。本設計正是通過TMS320LF2407所帶有的SCI模塊進行兩臺DSP的數據傳輸通信。同時還利用了DSP2407的SPI模塊和I/O口作了顯示以及鍵盤擴展電路,以便能實時監控數據的收發。此實例電路結構簡單易懂,非常適合剛接觸DSP的初學者使用,具有很好的參考價值。
上傳時間: 2013-07-01
上傳用戶:huyanju
摘要: 串行傳輸技術具有更高的傳輸速率和更低的設計成本, 已成為業界首選, 被廣泛應用于高速通信領域。提出了一種新的高速串行傳輸接口的設計方案, 改進了Aurora 協議數據幀格式定義的弊端, 并采用高速串行收發器Rocket I/O, 實現數據率為2.5 Gbps的高速串行傳輸。關鍵詞: 高速串行傳輸; Rocket I/O; Aurora 協議 為促使FPGA 芯片與串行傳輸技術更好地結合以滿足市場需求, Xilinx 公司適時推出了內嵌高速串行收發器RocketI/O 的Virtex II Pro 系列FPGA 和可升級的小型鏈路層協議———Aurora 協議。Rocket I/O支持從622 Mbps 至3.125 Gbps的全雙工傳輸速率, 還具有8 B/10 B 編解碼、時鐘生成及恢復等功能, 可以理想地適用于芯片之間或背板的高速串行數據傳輸。Aurora 協議是為專有上層協議或行業標準的上層協議提供透明接口的第一款串行互連協議, 可用于高速線性通路之間的點到點串行數據傳輸, 同時其可擴展的帶寬, 為系統設計人員提供了所需要的靈活性[4]。但該協議幀格式的定義存在弊端,會導致系統資源的浪費。本文提出的設計方案可以改進Aurora 協議的固有缺陷,提高系統性能, 實現數據率為2.5 Gbps 的高速串行傳輸, 具有良好的可行性和廣闊的應用前景。
上傳時間: 2013-11-06
上傳用戶:smallfish
摘要: 串行傳輸技術具有更高的傳輸速率和更低的設計成本, 已成為業界首選, 被廣泛應用于高速通信領域。提出了一種新的高速串行傳輸接口的設計方案, 改進了Aurora 協議數據幀格式定義的弊端, 并采用高速串行收發器Rocket I/O, 實現數據率為2.5 Gbps的高速串行傳輸。關鍵詞: 高速串行傳輸; Rocket I/O; Aurora 協議 為促使FPGA 芯片與串行傳輸技術更好地結合以滿足市場需求, Xilinx 公司適時推出了內嵌高速串行收發器RocketI/O 的Virtex II Pro 系列FPGA 和可升級的小型鏈路層協議———Aurora 協議。Rocket I/O支持從622 Mbps 至3.125 Gbps的全雙工傳輸速率, 還具有8 B/10 B 編解碼、時鐘生成及恢復等功能, 可以理想地適用于芯片之間或背板的高速串行數據傳輸。Aurora 協議是為專有上層協議或行業標準的上層協議提供透明接口的第一款串行互連協議, 可用于高速線性通路之間的點到點串行數據傳輸, 同時其可擴展的帶寬, 為系統設計人員提供了所需要的靈活性[4]。但該協議幀格式的定義存在弊端,會導致系統資源的浪費。本文提出的設計方案可以改進Aurora 協議的固有缺陷,提高系統性能, 實現數據率為2.5 Gbps 的高速串行傳輸, 具有良好的可行性和廣闊的應用前景。
上傳時間: 2013-10-13
上傳用戶:lml1234lml
現代社會信息量爆炸式增長,由于網絡、多媒體等新技術的發展,用戶對帶寬和速度的需求快速增加。并行傳輸技術由于時鐘抖動和偏移,以及PCB布線的困難,使得傳輸速率的進一步提升面臨設計的極限;而高速串行通信技術憑借其帶寬大、抗干擾性強和接口簡單等優勢,正迅速取代傳統的并行技術,成為業界的主流。 本論文針對目前比較流行并且有很大發展潛力的兩種高速串行接口電路——高速鏈路口和Rocket I/O進行研究,并以Xilinx公司最新款的Virtex-5 FPGA為研究平臺進行仿真設計。本論文的主要工作是以某低成本相控陣雷達信號處理機為設計平臺,在其中的一塊信號處理板上,進行了基于LVDS(Low VoltageDifferential Signal)技術的高速LinkPort(鏈路口)設計和基于CML(Current ModeLogic)技術的Rocket I/O高速串行接口設計。首先在FPGA的軟件中進行程序設計和功能、時序的仿真,當仿真驗證通過之后,重點是在硬件平臺上進行調試。硬件調試驗證的方法是將DSP TS201的鏈路口功能與在FPGA中的模擬高速鏈路口相連接,進行數據的互相傳送,接收和發送的數據相同,證明了高速鏈路口設計的正確性。并且在硬件調試時對Rocket IO GTP收發器進行回環設計,經過回環之后接收到的數據與發送的數據相同,證明了Rocket I/O高速串行接口設計的正確性。
上傳時間: 2013-04-24
上傳用戶:戀天使569
PIC16_和PIC18_器件的高速串行自舉程序
上傳時間: 2013-10-21
上傳用戶:cjh1129
串行編程器源程序(Keil C語言)//FID=01:AT89C2051系列編程器//實現編程的讀,寫,擦等細節//AT89C2051的特殊處:給XTAL一個脈沖,地址計數加1;P1的引腳排列與AT89C51相反,需要用函數轉換#include <e51pro.h> #define C2051_P3_7 P1_0#define C2051_P1 P0//注意引腳排列相反#define C2051_P3_0 P1_1#define C2051_P3_1 P1_2#define C2051_XTAL P1_4#define C2051_P3_2 P1_5#define C2051_P3_3 P1_6#define C2051_P3_4 P1_7#define C2051_P3_5 P3_5 void InitPro01()//編程前的準備工作{ SetVpp0V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=0; Delay_ms(20); nAddress=0x0000; SetVpp5V();} void ProOver01()//編程結束后的工作,設置合適的引腳電平{ SetVpp5V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=1;} BYTE GetData()//從P0口獲得數據{ B_0=P0_7; B_1=P0_6; B_2=P0_5; B_3=P0_4; B_4=P0_3; B_5=P0_2; B_6=P0_1; B_7=P0_0; return B;} void SetData(BYTE DataByte)//轉換并設置P0口的數據{ B=DataByte; P0_0=B_7; P0_1=B_6; P0_2=B_5; P0_3=B_4; P0_4=B_3; P0_5=B_2; P0_6=B_1; P0_7=B_0;} void ReadSign01()//讀特征字{ InitPro01(); Delay_ms(1);//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(20); ComBuf[2]=GetData(); C2051_XTAL=1; C2051_XTAL=0; Delay_us(20); ComBuf[3]=GetData(); ComBuf[4]=0xff;//----------------------------------------------------------------------------- ProOver01();} void Erase01()//擦除器件{ InitPro01();//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 C2051_P3_3=1; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(1); SetVpp12V(); Delay_ms(1); C2051_P3_2=0; Delay_ms(10); C2051_P3_2=1; Delay_ms(1);//----------------------------------------------------------------------------- ProOver01();} BOOL Write01(BYTE Data)//寫器件{//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 //寫一個單元 C2051_P3_3=0; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; SetData(Data); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); Delay_us(20); C2051_P3_4=0; Delay_ms(2); nTimeOut=0; P0=0xff; nTimeOut=0; while(!GetData()==Data)//效驗:循環讀,直到讀出與寫入的數相同 { nTimeOut++; if(nTimeOut>1000)//超時了 { return 0; } } C2051_XTAL=1; C2051_XTAL=0;//一個脈沖指向下一個單元//----------------------------------------------------------------------------- return 1;} BYTE Read01()//讀器件{ BYTE Data;//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 //讀一個單元 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=1; C2051_P3_7=1; Data=GetData(); C2051_XTAL=1; C2051_XTAL=0;//一個脈沖指向下一個單元//----------------------------------------------------------------------------- return Data;} void Lock01()//寫鎖定位{ InitPro01();//先設置成編程狀態//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 if(ComBuf[2]>=1)//ComBuf[2]為鎖定位 { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); } if(ComBuf[2]>=2) { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=0; C2051_P3_7=0; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); }//----------------------------------------------------------------------------- ProOver01();} void PreparePro01()//設置pw中的函數指針,讓主程序可以調用上面的函數{ pw.fpInitPro=InitPro01; pw.fpReadSign=ReadSign01; pw.fpErase=Erase01; pw.fpWrite=Write01; pw.fpRead=Read01; pw.fpLock=Lock01; pw.fpProOver=ProOver01;}
上傳時間: 2013-11-12
上傳用戶:gut1234567
摘 要:介紹了FPGA最新一代器件Virtex25上的高速串行收發器RocketIO。基于ML505開發平臺構建了一個高速串行數據傳輸系統,重點說明了該系統采用RocketIO實現1. 25Gbp s高速串行傳輸的設計方案。實現并驗證了采用FPGA完成千兆串行傳輸的功能目標,為后續采用FPGA實現各種高速協議奠定了良好的基礎。關鍵詞: FPGA;高速串行傳輸; RocketIO; GTP 在數字系統互連設計中,高速串行I/O技術取代傳統的并行I/O技術成為當前發展的趨勢。與傳統并行I/O技術相比,串行方案提供了更大的帶寬、更遠的距離、更低的成本和更高的擴展能力,克服了并行I/O設計存在的缺陷。在實際設計應用中,采用現場可編程門陣列( FPGA)實現高速串行接口是一種性價比較高的技術途徑。
上傳時間: 2013-11-22
上傳用戶:lingzhichao