/****************temic*********t5557***********************************/ #include <at892051.h> #include <string.h> #include <intrins.h> #include <stdio.h> #define uchar unsigned char #define uint unsigned int #define ulong unsigned long //STC12C2051AD的SFR定義 sfr WDT_CONTR = 0xe1;//stc2051的看門狗?????? /**********全局常量************/ //寫卡的命令 #define write_command0 0//寫密碼 #define write_command1 1//寫配置字 #define write_command2 2//密碼寫數據 #define write_command3 3//喚醒 #define write_command4 4//停止命令 #define TRUE 1 #define FALSE 0 #define OK 0 #define ERROR 255 //讀卡的時間參數us #define ts_min 250//270*11.0592/12=249//取近似的整數 #define ts_max 304//330*11.0592/12=304 #define t1_min 73//90*11.0592/12=83:-10調整 #define t1_max 156//180*11.0592/12=166 #define t2_min 184//210*11.0592/12=194 #define t2_max 267//300*11.0592/12=276 //***********不采用中斷處理:采用查詢的方法讀卡時關所有中斷****************/ sbit p_U2270B_Standby = P3^5;//p_U2270B_Standby PIN=13 sbit p_U2270B_CFE = P3^3;//p_U2270B_CFE PIN=6 sbit p_U2270B_OutPut = P3^7;//p_U2270B_OutPut PIN=2 sbit wtd_sck = P1^7;//SPI總線 sbit wtd_si = P1^3; sbit wtd_so = P1^2; sbit iic_data = P1^2;//lcd IIC sbit iic_clk = P1^7; sbit led_light = P1^6;//測試綠燈 sbit led_light1 = P1^5;//測試紅燈 sbit led_light_ok = P1^1;//讀卡成功標志 sbit fengmingqi = P1^5; /***********全局變量************************************/ uchar data Nkey_a[4] = {0xA0, 0xA1, 0xA2, 0xA3};//初始密碼 //uchar idata card_snr[4]; //配置字 uchar data bankdata[28] = {1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7}; //存儲卡上用戶數據(1-7)7*4=28 uchar data cominceptbuff[6] = {1,2,3,4,5,6};//串口接收數組ram uchar command; //第一個命令 uchar command1;// //uint temp; uchar j,i; uchar myaddr = 8; //uchar ywqz_count,time_count; //ywqz jishu: uchar bdata DATA; sbit BIT0 = DATA^0; sbit BIT1 = DATA^1; sbit BIT2 = DATA^2; sbit BIT3 = DATA^3; sbit BIT4 = DATA^4; sbit BIT5 = DATA^5; sbit BIT6 = DATA^6; sbit BIT7 = DATA^7; uchar bdata DATA1; sbit BIT10 = DATA1^0; sbit BIT11 = DATA1^1; sbit BIT12 = DATA1^2; sbit BIT13 = DATA1^3; sbit BIT14 = DATA1^4; sbit BIT15 = DATA1^5; sbit BIT16 = DATA1^6; sbit BIT17 = DATA1^7; bit i_CurrentLevel;//i_CurrentLevel BIT 00H(Saves current level of OutPut pin of U2270B) bit timer1_end; bit read_ok = 0; //緩存定時值,因用同一個定時器 union HLint { uint W; struct { uchar H;uchar L; } B; };//union HLint idata a union HLint data a; //緩存定時值,因用同一個定時器 union HLint0 { uint W; struct { uchar H; uchar L; } B; };//union HLint idata a union HLint0 data b; /**********************函數原型*****************/ //讀寫操作 void f_readcard(void);//全部讀出1~7 AOR喚醒 void f_writecard(uchar x);//根據命令寫不同的內容和操作 void f_clearpassword(void);//清除密碼 void f_changepassword(void);//修改密碼 //功能子函數 void write_password(uchar data *data p);//寫初始密碼或數據 void write_block(uchar x,uchar data *data p);//不能用通用指針 void write_bit(bit x);//寫位 /*子函數區*****************************************************/ void delay_2(uint x) //延時,時間x*10us@12mhz,最小20us@12mhz { x--; x--; while(x) { _nop_(); _nop_(); x--; } _nop_();//WDT_CONTR=0X3C;不能頻繁的復位 _nop_(); } ///////////////////////////////////////////////////////////////////// void initial(void) { SCON = 0x50; //串口方式1,允許接收 //SCON =0x50; //01010000B:10位異步收發,波特率可變,SM2=0不用接收到有效停止位才RI=1, //REN=1允許接收 TMOD = 0x21; //定時器1 定時方式2(8位),定時器0 定時方式1(16位) TCON = 0x40; //設定時器1 允許開始計時(IT1=1) TH1 = 0xfD; //FB 18.432MHz 9600 波特率 TL1 = 0xfD; //fd 11.0592 9600 IE = 0X90; //EA=ES=1 TR1 = 1; //啟動定時器 WDT_CONTR = 0x3c;//使能看門狗 p_U2270B_Standby = 0;//單電源 PCON = 0x00; IP = 0x10;//uart you xian XXXPS PT1 PX1 PT0 PX0 led_light1 = 1; led_light = 0; p_U2270B_OutPut = 1; } /************************************************/ void f_readcard()//讀卡 { EA = 0;//全關,防止影響跳變的定時器計時 WDT_CONTR = 0X3C;//喂狗 p_U2270B_CFE = 1;// delay_2(232); //>2.5ms /* // aor 用喚醒功能來防碰撞 p_U2270B_CFE = 0; delay_2(18);//start gap>150us write_bit(1);//10=操作碼讀0頁 write_bit(0); write_password(&bankdata[24]);//密碼block7 p_U2270B_CFE =1 ;// delay_2(516);//編程及確認時間5.6ms */ WDT_CONTR = 0X3C;//喂狗 led_light = 0; b.W = 0; while(!(read_ok == 1)) { //while(p_U2270B_OutPut);//等一個穩定的低電平?超時判斷? while(!p_U2270B_OutPut);//等待上升沿的到來同步信號檢測1 TR0 = 1; //deng xia jiang while(p_U2270B_OutPut);//等待下降沿 TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1;//定時器晚啟動10個周期 //同步頭 if((324 < a.W) && (a.W < 353)) ;//檢測同步信號1 else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } //等待上升沿 while(!p_U2270B_OutPut); TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1;//b.N1<<=8; if(a.B.L < 195);//0.5p else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } //讀0~7塊的數據 for(j = 0;j < 28;j++) { //uchar i; for(i = 0;i < 16;i++)//8個位 { //等待下降沿的到來 while(p_U2270B_OutPut); TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1; if(t2_max < a.W/*)&&(a.W < t2_max)*/)//1P { b.W >>= 2;//先左移再賦值 b.B.L += 0xc0; i++; } else if(t1_min < a.B.L/*)&&(a.B.L < t1_max)*/)//0.5p { b.W >>= 1; b.B.L += 0x80; } else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } i++; while(!p_U2270B_OutPut);//上升 TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1; if(t2_min < a.W/*)&&(a.W < t2_max)*/)//1P { b.W >>= 2; i++; } else if(t1_min < a.B.L/*a.W)&&(a.B.L < t1_max)*/)//0.5P //else if(!(a.W==0)) { b.W >>= 1; //temp+=0x00; //led_light1=0;led_light=1;delay_2(40000); } else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } i++; } //取出奇位 DATA = b.B.L; BIT13 = BIT7; BIT12 = BIT5; BIT11 = BIT3; BIT10 = BIT1; DATA = b.B.H; BIT17 = BIT7; BIT16 = BIT5; BIT15 = BIT3; BIT14 = BIT1; bankdata[j] = DATA1; } read_ok = 1;//讀卡完成了 read_error: _nop_(); } } /***************************************************/ void f_writecard(uchar x)//寫卡 { p_U2270B_CFE = 1; delay_2(232); //>2.5ms //psw=0 standard write if (x == write_command0)//寫密碼:初始化密碼 { uchar i; uchar data *data p; p = cominceptbuff; p_U2270B_CFE = 0; delay_2(31);//start gap>330us write_bit(1);//寫操作碼1:10 write_bit(0);//寫操作碼0 write_bit(0);//寫鎖定位0 for(i = 0;i < 35;i++) { write_bit(1);//寫數據位1 } p_U2270B_CFE = 1; led_light1 = 0; led_light = 1; delay_2(40000);//測試使用 //write_block(cominceptbuff[4],p); p_U2270B_CFE = 1; bankdata[20] = cominceptbuff[0];//密碼存入 bankdata[21] = cominceptbuff[1]; bankdata[22] = cominceptbuff[2]; bankdata[23] = cominceptbuff[3]; } else if (x == write_command1)//配置卡參數:初始化 { uchar data *data p; p = cominceptbuff; write_bit(1);//寫操作碼1:10 write_bit(0);//寫操作碼0 write_bit(0);//寫鎖定位0 write_block(cominceptbuff[4],p); p_U2270B_CFE= 1; } //psw=1 pssword mode else if(x == write_command2) //密碼寫數據 { uchar data*data p; p = &bankdata[24]; write_bit(1);//寫操作碼1:10 write_bit(0);//寫操作碼0 write_password(p);//發口令 write_bit(0);//寫鎖定位0 p = cominceptbuff; write_block(cominceptbuff[4],p);//寫數據 } else if(x == write_command3)//aor //喚醒 { //cominceptbuff[1]操作碼10 X xxxxxB uchar data *data p; p = cominceptbuff; write_bit(1);//10 write_bit(0); write_password(p);//密碼 p_U2270B_CFE = 1;//此時數據不停的循環傳出 } else //停止操作碼 { write_bit(1);//11 write_bit(1); p_U2270B_CFE = 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /************************************/ void f_clearpassword()//清除密碼 { uchar data *data p; uchar i,x; p = &bankdata[24];//原密碼 p_U2270B_CFE = 0; delay_2(18);//start gap>150us //操作碼10:10xxxxxxB write_bit(1); write_bit(0); for(x = 0;x < 4;x++)//發原密碼 { DATA = *(p++); for(i = 0;i < 8;i++) { write_bit(BIT0); DATA >>= 1; } } write_bit(0);//鎖定位0:0 p = &cominceptbuff[0]; write_block(0x00,p);//寫新配置參數:pwd=0 //密碼無效:即清除密碼 DATA = 0x00;//停止操作碼00000000B for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /*********************************/ void f_changepassword()//修改密碼 { uchar data *data p; uchar i,x,addr; addr = 0x07;//block7 p = &Nkey_a[0];//原密碼 DATA = 0x80;//操作碼10:10xxxxxxB for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } for(x = 0;x < 4;x++)//發原密碼 { DATA = *(p++); for(i = 0;i < 8;i++) { write_bit(BIT7); DATA >>= 1; } } write_bit(0);//鎖定位0:0 p = &cominceptbuff[0]; write_block(0x07,p);//寫新密碼 p_U2270B_CFE = 1; bankdata[24] = cominceptbuff[0];//密碼存入 bankdata[25] = cominceptbuff[1]; bankdata[26] = cominceptbuff[2]; bankdata[27] = cominceptbuff[3]; DATA = 0x00;//停止操作碼00000000B for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /***************************子函數***********************************/ void write_bit(bit x)//寫一位 { if(x) { p_U2270B_CFE = 1; delay_2(32);//448*11.0592/120=42延時448us p_U2270B_CFE = 0; delay_2(28);//280*11.0592/120=26寫1 } else { p_U2270B_CFE = 1; delay_2(92);//192*11.0592/120=18 p_U2270B_CFE = 0; delay_2(28);//280*11.0592/120=26寫0 } } /*******************寫一個block*******************/ void write_block(uchar addr,uchar data *data p) { uchar i,j; for(i = 0;i < 4;i++)//block0數據 { DATA = *(p++); for(j = 0;j < 8;j++) { write_bit(BIT0); DATA >>= 1; } } DATA = addr <<= 5;//0地址 for(i = 0;i < 3;i++) { write_bit(BIT7); DATA <<= 1; } } /*************************************************/ void write_password(uchar data *data p) { uchar i,j; for(i = 0;i < 4;i++)// { DATA = *(p++); for(j = 0;j < 8;j++) { write_bit(BIT0); DATA >>= 1; } } } /*************************************************/ void main() { initial(); TI = RI = 0; ES = 1; EA = 1; delay_2(28); //f_readcard(); while(1) { f_readcard(); //讀卡 f_writecard(command1); //寫卡 f_clearpassword(); //清除密碼 f_changepassword(); //修改密碼 } }
標簽: 12345
上傳時間: 2017-10-20
上傳用戶:my_lcs
作者:何亮,劉揚論文摘要:氮 化 鎵 (G a N )材 料 具 有 優 異 的 物 理 特 性 ,非 常 適 合 于 制 作 高 溫 、高 速 和 大 功 率 電 子 器 件 ,具 有 十 分 廣 闊 的 市場前景 。 S i襯 底 上 G a N 基 功 率 開 關 器 件 是 目 前 的 主 流 技 術 路 線 ,其 中 結 型 柵 結 構 (p 型 柵 )和 共 源 共 柵 級 聯 結 構 (C asco de)的 常 關 型 器 件 已 經 逐 步 實 現 產 業 化 ,并 在 通 用 電 源 及 光 伏 逆 變 等 領 域 得 到 應 用 。但 是 鑒 于 以 上 兩 種 器 件 結 構 存 在 的 缺 點 ,業 界 更 加 期 待 能 更 充 分 發 揮 G a N 性能的 “ 真 ” 常 關 M 0 S F E T 器件。而 GaN M 0 S F E T 器件的全面實用 化 ,仍 然 面 臨 著 在 材 料 外 延 方 面 和 器 件 穩 定 性 方 面 的 挑 戰 。
上傳時間: 2021-12-08
上傳用戶:XuVshu
PCB聯盟網-科普知識--《電子封裝材料與工藝》 學習筆記 54頁本人主要從事 IC 封裝化學材料(電子膠水)工作,為更好的理解 IC 封裝產業的動態和技術,自學了《電子封裝材料 與工藝》,貌似一本不錯的教材,在此總結出一些個人的學習筆記和大家分享。此筆記原發在本人的“電子中,有興趣的朋友可以前去查看一起探討第一章 集成電路芯片的發展與制造 1、原子結構:原子是由高度密集的質子和中子組成的原子核以及圍繞它在一定軌道(或能級)上旋 轉的荷負電的電子組成(Neils Bohr 于 1913 年提出)。當原子彼此靠近時,它們之間發生交互作用 的形成所謂的化學鍵,化學鍵可以分成離子鍵、共價鍵、分子鍵、氫鍵或金屬鍵; 2、真空管(電子管): a.真空管問世于 1883 年 Edison(愛迪生)發明白熾燈時,1903 年英格蘭的 J.A.Fleming 發現了真 空管類似極管的作用。在愛迪生的真空管里,燈絲為陰極、金屬板為陽極; b.當電子管含有兩個電極(陽極和陰極)時,這種電路被稱為二極管,1906 年美國發明家 Lee DeForest 在陰極和陽極之間加入了一個柵極(一個精細的金屬絲網),此為最早的三極管,另外更 多的電極如以致柵極和簾柵極也可以密封在電子管中,以擴大電子管的功能; c.真空管盡管廣泛應用于工業已有半個多世紀,但是有很多缺點,包括體積大,產生的熱量大、容 易燒壞而需要頻繁地更換,固態器件的進展消除了真空管的缺點,真空管開始從許多電子產品的使 用中退出; 3、半導體理論: a.在 IC 芯片制造中使用的典型半導體材料有元素半導體硅、鍺、硒,半導體化合物有砷化鎵(GaAs)、 磷砷化鎵(GaAsP)、磷化銦(InP); b.二極管(一個 p-n 結),當結上為正向偏壓時可以導通電流,當反向偏壓時則電流停止; c.結型雙極晶體管:把兩個或兩個以上的 p-n 結組合成一個器件,導致了之!
上傳時間: 2022-02-06
上傳用戶:
SW3518 是一款高集成度的多快充協議雙口充電芯片, 支持 A+C 口任意口快充輸出, 支持雙口獨立限流。 其集成了 5A 高效率同步降壓變換器, 支持 PPS/PD/QC/AFC/FCP/SCP/PE/SFCP/VOOC等多種快充協議, CC/CV 模式, 以及雙口管理邏輯。 外圍只需少量的器件, 即可組成完整的高性能多快充協議雙口充電解決方案。
標簽: sw3518
上傳時間: 2022-02-17
上傳用戶:
SW3516 是一款高集成度的快充車充芯片, 支持 A+C 口任意口快充輸出, 支持雙口獨立限流。其集成了 5A 高效率同步降壓變換器, 支持 PPS/PD/QC/AFC/FCP/SCP/PE/SFCP/低壓直充等多種快充協議, CC/CV 模式, 以及雙口管理邏輯。 外圍只需少量的器件, 即可組成完整的高性能多快充協議車充解決方案。
標簽: sw3516
上傳時間: 2022-02-17
上傳用戶:kent
無線充方案:P6808 國內首款SOC無線充方案IP6808 正式進入無線充電行業。近日我們獲悉,這款芯片通過了Qi v1.2.4認證,WPC無線充電聯盟官網注冊時間為7月10日,登記ID為3691。它支持10W快充,是一顆兼容WPC v1.2協議的7.5W/10W無線充電發射控制器。特點 兼容WPC v1.2.4 標準 支持5~10W 多種應用 單獨5W 應用 快充充電器輸入5~10W 應用 5V 充電器輸入5~10W 升壓應用 9V~15V 充電器輸入5~10W 降壓應用 輸入耐壓高達25V 集成NMOS 全橋驅動 集成內部電壓/電流解調 支持 FOD 異物檢測功能 高靈敏靜態異物檢測 支持動態FOD 檢測 FOD 參數可調 低靜態功耗和高效率 靜態電流4mA 實測系統充電效率高達79% 兼容NPO 電容和CBB 電容 支持成品固件在線升級 針對供電能力不足的USB 電源有動態功率調整功能(DPM) 支持低至5V 500mA 的充電器 輸入過壓,過流保護功能 支持PD3.0 輸入請求 支持NTC 用于系統各狀態指示的2 路 LED 封裝 5 mm × 5 mm 0.5pitch QFN32應用產品背夾、無線充電底座 車載無線充電設備
上傳時間: 2022-06-15
上傳用戶:bluedrops
本設計采用EM78P156E單片機作為暖風機整機工作的控制核心,采用sC6121實現紅外遙控編碼規則實現紅外解碼,紅外信號的接收采用了具有感光原理的紅外一體化的紅外接收頭。本設計用IT1621芯片取代了直接利用單片機1/0口驅動LCD顯示,使LCD的驅動更加方便靈活,接線更為簡單,達到實時顯示溫度的目的。本設計采用RC充放電原理實現對加熱溫度的測量,比起用熱敏電阻成本要低得多。六路按鍵選擇實現了暖風機的實時顯示時間,電阻絲加熱,高溫,低溫,風速的大小的選擇。暖風機的搖頭和吹風部分由單片機控制繼電器來控制。用遙控控制的暖風機的實用性,靈活性都更強。由于暖風機具有體積小,散熱快的優點,是近些年才流行起來的。為大多數家庭認識和接受。帶液晶顯示屏的可遙控暖風機,越來越受到用戶的歡迎,由于它采用紅外遙控設備,并配合液晶屏顯示,大大方便了產品的使用。關鍵字:紅外編碼;紅外解碼;EM78P156單片機:LCD顯示;驅動暖風機分為工業用,家用兩大類。隨著社會的發展暖風機在汽車上的應用也日益廣泛。工業用暖風機主要用來給元器件加熱,加熱塑料使其軟化(例如電熱槍)和在工廠里取暖等。家用暖風機采用直熱式取暖,廣為家庭使用俗稱“小太陽”。家用暖風機可直接感受熱源且熱輻射能力強,也可用在室外做小面積的取暖,彌補了空調必須在封閉環境下使用的缺點。汽車用暖風機也主要用在取暖方面。1.1 暖風機的概述暖風機以空氣對流式加熱和電熱元件加熱兩種加熱方式為主,采用風機強空氣對流加熱的液晶遙控暖風機,是近些年才流行起來的。為大多數家庭認識和接受。暖風機特點:1、體積小,熱功效高,節能,安全性能高。2、高抗振性好,堅固耐用,無光、無明火、不易燃。3、防水,防病濺暖風機的功率,款式及功能:功e,暖風機功率大致在800-2000w之向使用面積也比較大。暖風機升溫比較快。B.款式:有臺式、落地式、壁掛式和臺掛兩用式四種。暖風機的款式以臺式,壁掛式和臺掛式為主。C.功能:有手動旋鈕、接鈕型、程控型、遙控型和語音提示型。在保護功能方面:有防跌倒斷電、防過電流、過熱保護、防水、防滴濺保護。
上傳時間: 2022-06-18
上傳用戶:xsr1983
二次雷達(Secondary Surveillance Radar)是民航空中管制(Air Traffic Control)和軍事敵我識別(Identification Friend or Foe)系統中的關鍵部分,由于這兩個應用領域都要求很高的可靠性和穩定性,因此,二次雷達一直是國內外雷達信號處理領域的研究熱點.傳統的機載二次雷達應答器普遍采用中小規模集成電路和分立元件設計,其穩定性和可靠性差,實時處理能力也很有限,無法完成高密度、大容量的應答.針對這些缺陷,本論文提出一種全新的應答數字信號處理器硬件結構,即FPGA+DSP的混合結構.這種硬件體系結構的特點是可靠性高,集成度高,通用性強,適于模塊化設計,處理速度快,能實時處理多個應答信號,以及進行置信度分析和生成報表.此項目中,本文作者主要負責FPGA部分硬件設計.FPGA主要完成雙通道數據采集、產生視頻信號和旁瓣抑制信號、計算當前飛機相對本地接收天線的方位和距離、與DSP實時交換數據、上傳報表等功能.論文詳細分析了接收機信號處理算法在FPGA中的硬件實現方案,在提高系統可靠性、堅固性以及FPGA資源的合理利用方面做了深入的探討.同時給出不同層次關鍵模塊的HDL實現及其時序仿真結果.
上傳時間: 2013-04-24
上傳用戶:西伯利亞狼
ASIC對產品成本和靈活性有一定的要求.基于MCU方式的ASIC具有較高的靈活性和較低的成本,然而抗干擾性和可靠性相對較低,運算速度也受到限制.常規ASIC的硬件具有速度優勢和較高的可靠性及抗干擾能力,然而不是靈活性較差,就是成本較高.與傳統硬件(CHW)相比,具有一定可配置特性的場可編程門陣列(FPGA)的出現,使建立在可再配置硬件基礎上的進化硬件(EHW)成為智能硬件電路設計的一種新方法.作為進化算法和可編程器件技術相結合的產物,可重構FPGA的研究屬于EHW的研究范疇,是研究EHW的一種具體的實現方法.論文認為面向分類的專用類可重構FPGA(ASR-FPGA)的研究,可使可重構電路粒度劃分的針對性更強、設計更易實現.論文研究的可重構FPGA的BCH通訊糾錯碼進化電路是一類ASR-FPGA電路的具體方法,具有一定的實用價值.論文所做的工作主要包括:(1)BCH編譯碼電路的設計——求取實驗用BCH碼的生成多項式和校驗多項式及其相應的矩陣并構造實驗用BCH碼;(2)建立基于可重構FPGA的基核——構造具有可重構特性的硬件功能單元,以此作為可重構BCH碼電路的設計基礎;(3)構造實現可重構BCH糾錯碼電路的方法——建立可重構糾錯碼硬件電路算法并進行實驗驗證;(4)在可重構糾錯碼電路基礎上,構造進化硬件控制功能塊的結構,完成各進化RLA控制模塊的驗證和實現.課題是將可重構BCH碼的編譯碼電路的實現作為一類ASR-FPGA的研究目標,主要成果是根據可編程邏輯電路的特點,選擇一種可編程樹的電路模型,并將它作為可重構FPGA電路的基核T;通過對循環BCH糾錯碼的構造原理和電路結構的研究,將基核模型擴展為能滿足糾錯碼電路需要的糾錯碼基本功能單元T;以T作為再劃分的基本單元,對FPGA進行"格式化",使T規則排列在FPGA上,通過對T的控制端的不同配置來實現糾錯碼的各個功能單元;在可重構基核的基礎上提出了糾錯碼重構電路的嵌套式GA理論模型,將嵌套式GA的染色體串作為進化硬件描述語言,通過轉換為相應的VHDL語言描述以實現硬件電路;采用RLA模型的有限狀態機FSM方式實現了可重構糾錯碼電路的EHW的各個控制功能塊.在實驗方面,利用Xilinx FPGA開發系統中的VHDL語言和電路圖相結合的設計方法建立了循環糾錯碼基核單元的可重構模型,進行循環糾錯BCH碼的電路和功能仿真,在Xilinx公司的Virtex600E芯片進行了FPGA實現.課題在研究模型上選取的是比較基本的BCH糾錯碼電路,立足于解決基于可重構FPGA核的設計的基本問題.課題的研究成果及其總結的一套ASR-FPGA進化硬件電路的設計方法對實際的進化硬件設計具有一定的實際指導意義,提出的基于專用類基核FPGA電路結構的研究方法為新型進化硬件的器件結構的設計也可提供一種借鑒.
上傳時間: 2013-07-01
上傳用戶:myworkpost
特點: 精確度0.1%滿刻度 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A|/ 16 BIT類比輸出功能 輸入與輸出絕緣耐壓2仟伏特/1分鐘(input/output/power) 寬范圍交直流兩用電源設計 尺寸小,穩定性高
上傳時間: 2014-12-23
上傳用戶:ydd3625