地鐵信號設備中輸入輸出設備是信號邏輯和現場設備之間的接口,有著四高(高安全,高可靠,高可維護,高可用)要求,目前信號系統廠家的傳統做法是整個信號系統產品由一家公司來完成,可是隨著技算機技術的快速發展,邏輯部份目前已可以采用通用COTS產品,而輸入輸出部分還是需要各個信號廠家自己設計和生產,因此設計出一款通用型的輸入輸出控制器已成地鐵行業的發展方向。 為了滿足以上要求,本文從實際應用角度出發,使信號系統的產品更加的開放透明,設計出基于ARM的地鐵用安全型的智能I/O,從而使信號系統設計可以方便地和現場信號設備接口。 在硬件上采用冗余設計,以ARM為主處理器,整個系統無單點硬件故障,采集部分采用動態異或輸入設計,驅動部分采用安全驅動設計。 基于ARM的地鐵用安全智能I/O嚴格遵循歐洲鐵路信號產品的標準,使系統的安全性,可靠性,可用性和可維護性有了充分的保障。 本文主要介紹了地鐵用安全型智能I/O控制器的設計和實現,包括設計思想,具體實施,硬件和軟件的設計等。
上傳時間: 2013-06-12
上傳用戶:ljthhhhhh123
隨著電信數據傳輸對速率和帶寬的要求變得越來越迫切,原有建成的網絡是基于話音傳輸業務的網絡,已不能適應當前的需求.而建設新的寬帶網絡需要相當大的投資且建設工期長,無法滿足特定客戶對高速數據傳輸的近期需求.反向復用技術是把一個單一的高速數據流在發送端拆散并放在兩個或者多個低速數據鏈路上進行傳輸,在接收端再還原為高速數據流.該文提出一種基于FPGA的多路E1反向復用傳輸芯片的設計方案,使用四個E1構成高速數據的透明傳輸通道,支持E1線路間最大相對延遲64ms,通過鏈路容量調整機制,可以動態添加或刪除某條E1鏈路,實現靈活、高效的利用現有網絡實現視頻、數據等高速數據的傳輸,能夠節省帶寬資源,降低成本,滿足客戶的需求.系統分為發送和接收兩部分.發送電路實現四路E1的成幀操作,數據拆分采用線路循環與幀間插相結合的方法,A路插滿一幀(30時隙)后,轉入B路E1間插數據,依此類推,循環間插所有的數據.接收電路進行HDB3解碼,幀同步定位(子幀同步和復幀同步),線路延遲判斷,FIFO和SDRAM實現多路數據的對齊,最后按照約定的高速數據流的幀格式輸出數據.整個數字電路采用Verilog硬件描述語言設計,通過前仿真和后仿真的驗證.以30萬門的FPGA器件作為硬件實現,經過綜合和布線,特別是寫約束和增量布線手動調整電路的布局,降低關鍵路徑延時,最終滿足設計要求.
上傳時間: 2013-07-16
上傳用戶:asdkin
是FPGA應用的好列子,本人經過測試的,有USB的I2C的,還有一些經常用的程序,是初學和參考的好幫手
上傳時間: 2013-08-14
上傳用戶:ommshaggar
電路連接 由于數碼管品種多樣,還有共陰共陽的,下面我們使用一個數碼管段碼生成器(在文章結尾) 去解決不同數碼管的問題: 本例作者利用手頭現有的一位不知品牌的共陽數碼管:型號D5611 A/B,在Eagle 找了一個 類似的型號SA56-11,引腳功能一樣可以直接代換。所以下面電路圖使用SA56-11 做引腳說明。 注意: 1. 將數碼管的a~g 段,分別接到Arduino 的D0~D6 上面。如果你手上的數碼管未知的話,可以通過通電測量它哪個引腳對應哪個字段,然后找出a~g 即可。 2. 分清共陰還是共陽。共陰的話,接220Ω電阻到電源負極;共陽的話,接220Ω電阻到電源+5v。 3. 220Ω電阻視數碼管實際工作亮度與手頭現有原件而定,不一定需要準確。 4. 按下按鈕即停。 源代碼 由于我是按照段碼生成器默認接法接的,所以不用修改段碼生成器了,直接在段碼生成器選擇共陽極,再按“自動”生成數組就搞定。 下面是源代碼,由于偷懶不用寫循環,使用了部分AVR 語句。 PORTD 這個是AVR 的端口輸出控制語句,8 位對應D7~D0,PORTD=00001001 就是D3 和D0 是高電平。 PORTD = a;就是找出相應的段碼輸出到D7~D0。 DDRD 這個是AVR 語句中控制引腳作為輸出/輸入的語句。DDRD = 0xFF;就是D0~D7 全部 作為輸出腳了。 ARDUINO CODECOPY /* Arduino 單數碼管骰子 Ansifa 2011-12-28 */ //定義段碼表,表中十個元素由LED 段碼生成器生成,選擇了共陽極。 inta[10] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90}; voidsetup() { DDRD = 0xFF; //AVR 定義PortD 的低七位全部用作輸出使用。即0xFF=B11111111對 應D7~D0 pinMode(12, INPUT); //D12用來做骰子暫停的開關 } voidloop() { for(int i = 0; i < 10; i++) { //將段碼輸出PortD 的低7位,即Arduino 的引腳D0~D6,這樣需要取出PORTD 最高位,即 D7的狀態,與段碼相加,之后再輸出。 PORTD = a[i]; delay(50); //延時50ms while(digitalRead(12)) {} //如果D12引腳高電平,則在此死循環,暫停LED 跑 動 } }
上傳時間: 2013-10-15
上傳用戶:baitouyu
用七個led小燈模擬骰子
上傳時間: 2013-11-16
上傳用戶:lty6899826
摘要:介紹用MCS-51系列單片機控制手機收發短信息的原理、硬件電路、PDU數據格式和符合GSM07.05協議要求的短信息發送/接收程序,同時給出了一個應用實例。關鍵詞:單片機子 短信息 PDU GSM 接口
上傳時間: 2013-11-19
上傳用戶:lingfei
提出了一種改進的LSM-ALSM子空間模式識別方法,將LSM的旋轉策略引入ALSM,使子空間之間互不關聯的情況得到改善,提高了ALSM對相似樣本的區分能力。討論中以性能函數代替經驗函數來確定拒識規則的參數,實現了識別率、誤識率與拒識率之間的最佳平衡;通過對有限字符集的實驗結果表明,LSM-ALSM算法有效地改善了分類器的識別率和可靠性。關 鍵 詞 學習子空間; 性能函數; 散布矩陣; 最小描述長度在子空間模式識別方法中,一個線性子空間代表一個模式類別,該子空間由反映類別本質的一組特征矢量張成,分類器根據輸入樣本在各子空間上的投影長度將其歸為相應的類別。典型的子空間算法有以下三種[1, 2]:CLAFIC(Class-feature Information Compression)算法以相關矩陣的部分特征向量來構造子空間,實現了特征信息的壓縮,但對樣本的利用為一次性,不能根據分類結果進行調整和學習,對樣本信息的利用不充分;學習子空間方法(Leaning Subspace Method, LSM)通過旋轉子空間來拉大樣本所屬類別與最近鄰類別的距離,以此提高分類能力,但對樣本的訓練順序敏感,同一樣本訓練的順序不同對子空間構造的影響就不同;平均學習子空間算法(Averaged Learning Subspace Method, ALSM)是在迭代訓練過程中,用錯誤分類的樣本去調整散布矩陣,訓練結果與樣本輸入順序無關,所有樣本平均參與訓練,其不足之處是各模式的子空間之間相互獨立。針對以上問題,本文提出一種改進的子空間模式識別方法。子空間模式識別的基本原理1.1 子空間的分類規則子空間模式識別方法的每一類別由一個子空間表示,子空間分類器的基本分類規則是按矢量在各子空間上的投影長度大小,將樣本歸類到最大長度所對應的類別,在類x()iω的子空間上投影長度的平方為()211,2,,()argmax()jMTkkjpg===Σx (1)式中 函數稱為分類函數;為子空間基矢量。兩類的分類情況如圖1所示。
上傳時間: 2013-12-25
上傳用戶:熊少鋒
三種方法讀取鍵值 使用者設計行列鍵盤介面,一般常採用三種方法讀取鍵值。 中斷式 在鍵盤按下時產生一個外部中斷通知CPU,並由中斷處理程式通過不同位址讀資料線上的狀態判斷哪個按鍵被按下。 本實驗採用中斷式實現使用者鍵盤介面。 掃描法 對鍵盤上的某一行送低電位,其他為高電位,然後讀取列值,若列值中有一位是低,表明該行與低電位對應列的鍵被按下。否則掃描下一行。 反轉法 先將所有行掃描線輸出低電位,讀列值,若列值有一位是低表明有鍵按下;接著所有列掃描線輸出低電位,再讀行值。 根據讀到的值組合就可以查表得到鍵碼。4x4鍵盤按4行4列組成如圖電路結構。按鍵按下將會使行列連成通路,這也是見的使用者鍵盤設計電路。 //-----------4X4鍵盤程序--------------// uchar keboard(void) { uchar xxa,yyb,i,key; if((PINC&0x0f)!=0x0f) //是否有按鍵按下 {delayms(1); //延時去抖動 if((PINC&0x0f)!=0x0f) //有按下則判斷 { xxa=~(PINC|0xf0); //0000xxxx DDRC=0x0f; PORTC=0xf0; delay_1ms(); yyb=~(PINC|0x0f); //xxxx0000 DDRC=0xf0; //復位 PORTC=0x0f; while((PINC&0x0f)!=0x0f) //按鍵是否放開 { display(data); } i=4; //計算返回碼 while(xxa!=0) { xxa=xxa>>1; i--; } if(yyb==0x80) key=i; else if(yyb==0x40) key=4+i; else if(yyb==0x20) key=8+i; else if(yyb==0x10) key=12+i; return key; //返回按下的鍵盤碼 } } else return 17; //沒有按鍵按下 }
上傳時間: 2013-11-12
上傳用戶:a673761058
《ASP網站QQ在線咨詢插件》 作者:國子(參考騰訊技術文檔編寫) QQ:895731 演示網址:http://www.wubaidu.com 轉載請完整保留此說明文檔,謝謝 使用方法: 將所有文件拷貝到網站目錄,使用include方法將本文件包含到index.asp中,即在index.asp的最后添加一行<!--#include file="ask-qq.asp"--> 添加客服QQ方法: 修改ask-qq.asp中的“adm_qq=”后面引號中的QQ號,多個QQ號用西文逗號隔開,QQ數量不限。 如果你的ASP網站的數據庫中保存有QQ號,也可直接讀取數據庫中的QQ 修改在線咨詢浮動面板位置的方法: 修改ask-qq.asp中“startX =650”(水平)、“startY = 150”(垂直)中的數字即可。
上傳時間: 2013-12-23
上傳用戶:jqy_china
好用啊 ,主要是一些,小列子。你一定要看懂了再用!
標簽:
上傳時間: 2014-05-24
上傳用戶:aa17807091