減小電磁干擾的印刷電路板設計原則 內 容 摘要……1 1 背景…1 1.1 射頻源.1 1.2 表面貼裝芯片和通孔元器件.1 1.3 靜態引腳活動引腳和輸入.1 1.4 基本回路……..2 1.4.1 回路和偶極子的對稱性3 1.5 差模和共?!?.3 2 電路板布局…4 2.1 電源和地…….4 2.1.1 感抗……4 2.1.2 兩層板和四層板4 2.1.3 單層板和二層板設計中的微處理器地.4 2.1.4 信號返回地……5 2.1.5 模擬數字和高壓…….5 2.1.6 模擬電源引腳和模擬參考電壓.5 2.1.7 四層板中電源平面因該怎么做和不應該怎么做…….5 2.2 兩層板中的電源分配.6 2.2.1 單點和多點分配.6 2.2.2 星型分配6 2.2.3 格柵化地.7 2.2.4 旁路和鐵氧體磁珠……9 2.2.5 使噪聲靠近磁珠……..10 2.3 電路板分區…11 2.4 信號線……...12 2.4.1 容性和感性串擾……...12 2.4.2 天線因素和長度規則...12 2.4.3 串聯終端傳輸線…..13 2.4.4 輸入阻抗匹配...13 2.5 電纜和接插件……...13 2.5.1 差模和共模噪聲……...14 2.5.2 串擾模型……..14 2.5.3 返回線路數目..14 2.5.4 對板外信號I/O的建議14 2.5.5 隔離噪聲和靜電放電ESD .14 2.6 其他布局問題……...14 2.6.1 汽車和用戶應用帶鍵盤和顯示器的前端面板印刷電路板...15 2.6.2 易感性布局…...15 3 屏蔽..16 3.1 工作原理…...16 3.2 屏蔽接地…...16 3.3 電纜和屏蔽旁路………………..16 4 總結…………………………………………17 5 參考文獻………………………17
上傳時間: 2013-10-24
上傳用戶:18165383642
減小電磁干擾的印刷電路板設計原則 內 容 摘要……1 1 背景…1 1.1 射頻源.1 1.2 表面貼裝芯片和通孔元器件.1 1.3 靜態引腳活動引腳和輸入.1 1.4 基本回路……..2 1.4.1 回路和偶極子的對稱性3 1.5 差模和共模…..3 2 電路板布局…4 2.1 電源和地…….4 2.1.1 感抗……4 2.1.2 兩層板和四層板4 2.1.3 單層板和二層板設計中的微處理器地.4 2.1.4 信號返回地……5 2.1.5 模擬數字和高壓…….5 2.1.6 模擬電源引腳和模擬參考電壓.5 2.1.7 四層板中電源平面因該怎么做和不應該怎么做…….5 2.2 兩層板中的電源分配.6 2.2.1 單點和多點分配.6 2.2.2 星型分配6 2.2.3 格柵化地.7 2.2.4 旁路和鐵氧體磁珠……9 2.2.5 使噪聲靠近磁珠……..10 2.3 電路板分區…11 2.4 信號線……...12 2.4.1 容性和感性串擾……...12 2.4.2 天線因素和長度規則...12 2.4.3 串聯終端傳輸線…..13 2.4.4 輸入阻抗匹配...13 2.5 電纜和接插件……...13 2.5.1 差模和共模噪聲……...14 2.5.2 串擾模型……..14 2.5.3 返回線路數目..14 2.5.4 對板外信號I/O的建議14 2.5.5 隔離噪聲和靜電放電ESD .14 2.6 其他布局問題……...14 2.6.1 汽車和用戶應用帶鍵盤和顯示器的前端面板印刷電路板...15 2.6.2 易感性布局…...15 3 屏蔽..16 3.1 工作原理…...16 3.2 屏蔽接地…...16 3.3 電纜和屏蔽旁路………………..16 4 總結…………………………………………17 5 參考文獻………………………17
上傳時間: 2013-10-22
上傳用戶:a6697238
μC/OS-II Goals Probably the most important goal of μC/OS-II was to make it backward compatible with μC/OS (at least from an application’s standpoint). A μC/OS port might need to be modified to work with μC/OS-II but at least, the application code should require only minor changes (if any). Also, because μC/OS-II is based on the same core as μC/OS, it is just as reliable. I added conditional compilation to allow you to further reduce the amount of RAM (i.e. data space) needed by μC/OS-II. This is especially useful when you have resource limited products. I also added the feature described in the previous section and cleaned up the code. Where the book is concerned, I wanted to clarify some of the concepts described in the first edition and provide additional explanations about how μC/OS-II works. I had numerous requests about doing a chapter on how to port μC/OS and thus, such a chapter has been included in this book for μC/OS-II.
標簽: OS-II compatible important Probably
上傳時間: 2013-12-02
上傳用戶:jkhjkh1982
可編程并行接口8255A完成的交通燈實驗 用8255A的B端口和C端口控制12個LED的亮和滅(輸出為0則亮,輸出為1則滅),模擬十字路口的交通燈。 -programmable parallel interface 8255A completed, the traffic lights experimental 8255A port B and C - I control 12 LED bright and methomyl (output of 0-liang, the output of an anti), the simulation of traffic lights at a crossroads.
上傳時間: 2016-08-13
上傳用戶:來茴
工業領域串口通信速度慢是個比較突出的問題, 而 F T 2 4 5 B M 能夠進行 US B和并行 I / O口之間的 協議轉換, 在一些條件下能夠取代串口. 介紹 F T 2 4 5 B M 芯片的工作原理和功能, 并給出基于 F T2 4 5 B M 的 US B接口電路的應用設計和基于 8 9 c 5 2的匯編及 c 5 1 單片機源程序.
上傳時間: 2017-05-27
上傳用戶:kytqcool
【問題描述】 在一個N*N的點陣中,如N=4,你現在站在(1,1),出口在(4,4)。你可以通過上、下、左、右四種移動方法,在迷宮內行走,但是同一個位置不可以訪問兩次,亦不可以越界。表格最上面的一行加黑數字A[1..4]分別表示迷宮第I列中需要訪問并僅可以訪問的格子數。右邊一行加下劃線數字B[1..4]則表示迷宮第I行需要訪問并僅可以訪問的格子數。如圖中帶括號紅色數字就是一條符合條件的路線。 給定N,A[1..N] B[1..N]。輸出一條符合條件的路線,若無解,輸出NO ANSWER。(使用U,D,L,R分別表示上、下、左、右。) 2 2 1 2 (4,4) 1 (2,3) (3,3) (4,3) 3 (1,2) (2,2) 2 (1,1) 1 【輸入格式】 第一行是數m (n < 6 )。第二行有n個數,表示a[1]..a[n]。第三行有n個數,表示b[1]..b[n]。 【輸出格式】 僅有一行。若有解則輸出一條可行路線,否則輸出“NO ANSWER”。
標簽: 點陣
上傳時間: 2014-06-21
上傳用戶:llandlu
介紹將uCOS-II源代碼級移置到S3C44B0x處理器板子上的經驗,希望對今后ARM的快速上手和移置系統提供一些參考。整套初始源代碼來源于liming基于Atmel ARM板的ucos演示程序,Arming在此基礎上做了少量的修改;
標簽: 很好的學習資料
上傳時間: 2016-01-07
上傳用戶:deemo
實驗源代碼 //Warshall.cpp #include<stdio.h> void warshall(int k,int n) { int i , j, t; int temp[20][20]; for(int a=0;a<k;a++) { printf("請輸入矩陣第%d 行元素:",a); for(int b=0;b<n;b++) { scanf ("%d",&temp[a][b]); } } for(i=0;i<k;i++){ for( j=0;j<k;j++){ if(temp[ j][i]==1) { for(t=0;t<n;t++) { temp[ j][t]=temp[i][t]||temp[ j][t]; } } } } printf("可傳遞閉包關系矩陣是:\n"); for(i=0;i<k;i++) { for( j=0;j<n;j++) { printf("%d", temp[i][ j]); } printf("\n"); } } void main() { printf("利用 Warshall 算法求二元關系的可傳遞閉包\n"); void warshall(int,int); int k , n; printf("請輸入矩陣的行數 i: "); scanf("%d",&k); 四川大學實驗報告 printf("請輸入矩陣的列數 j: "); scanf("%d",&n); warshall(k,n); }
上傳時間: 2016-06-27
上傳用戶:梁雪文以
#include "iostream" using namespace std; class Matrix { private: double** A; //矩陣A double *b; //向量b public: int size; Matrix(int ); ~Matrix(); friend double* Dooli(Matrix& ); void Input(); void Disp(); }; Matrix::Matrix(int x) { size=x; //為向量b分配空間并初始化為0 b=new double [x]; for(int j=0;j<x;j++) b[j]=0; //為向量A分配空間并初始化為0 A=new double* [x]; for(int i=0;i<x;i++) A[i]=new double [x]; for(int m=0;m<x;m++) for(int n=0;n<x;n++) A[m][n]=0; } Matrix::~Matrix() { cout<<"正在析構中~~~~"<<endl; delete b; for(int i=0;i<size;i++) delete A[i]; delete A; } void Matrix::Disp() { for(int i=0;i<size;i++) { for(int j=0;j<size;j++) cout<<A[i][j]<<" "; cout<<endl; } } void Matrix::Input() { cout<<"請輸入A:"<<endl; for(int i=0;i<size;i++) for(int j=0;j<size;j++){ cout<<"第"<<i+1<<"行"<<"第"<<j+1<<"列:"<<endl; cin>>A[i][j]; } cout<<"請輸入b:"<<endl; for(int j=0;j<size;j++){ cout<<"第"<<j+1<<"個:"<<endl; cin>>b[j]; } } double* Dooli(Matrix& A) { double *Xn=new double [A.size]; Matrix L(A.size),U(A.size); //分別求得U,L的第一行與第一列 for(int i=0;i<A.size;i++) U.A[0][i]=A.A[0][i]; for(int j=1;j<A.size;j++) L.A[j][0]=A.A[j][0]/U.A[0][0]; //分別求得U,L的第r行,第r列 double temp1=0,temp2=0; for(int r=1;r<A.size;r++){ //U for(int i=r;i<A.size;i++){ for(int k=0;k<r-1;k++) temp1=temp1+L.A[r][k]*U.A[k][i]; U.A[r][i]=A.A[r][i]-temp1; } //L for(int i=r+1;i<A.size;i++){ for(int k=0;k<r-1;k++) temp2=temp2+L.A[i][k]*U.A[k][r]; L.A[i][r]=(A.A[i][r]-temp2)/U.A[r][r]; } } cout<<"計算U得:"<<endl; U.Disp(); cout<<"計算L的:"<<endl; L.Disp(); double *Y=new double [A.size]; Y[0]=A.b[0]; for(int i=1;i<A.size;i++ ){ double temp3=0; for(int k=0;k<i-1;k++) temp3=temp3+L.A[i][k]*Y[k]; Y[i]=A.b[i]-temp3; } Xn[A.size-1]=Y[A.size-1]/U.A[A.size-1][A.size-1]; for(int i=A.size-1;i>=0;i--){ double temp4=0; for(int k=i+1;k<A.size;k++) temp4=temp4+U.A[i][k]*Xn[k]; Xn[i]=(Y[i]-temp4)/U.A[i][i]; } return Xn; } int main() { Matrix B(4); B.Input(); double *X; X=Dooli(B); cout<<"~~~~解得:"<<endl; for(int i=0;i<B.size;i++) cout<<"X["<<i<<"]:"<<X[i]<<" "; cout<<endl<<"呵呵呵呵呵"; return 0; }
標簽: 道理特分解法
上傳時間: 2018-05-20
上傳用戶:Aa123456789
#include<stdio.h> #include<windows.h> int xuanxiang; int studentcount; int banjihao[100]; int xueqihao[100][10]; char xm[100][100]; int xuehao[100][10]; int score[100][3]; int yuwen; int shuxue[000]; int yingyu[100]; int c[100]; int p; char x[1000][100]="",y[100][100]="";/*x學院 y專業 z班級*/ int z[100]; main() { void input(); void inputsc(); void alter(); void scbybannji(); printf("--------學生成績管理-----\n"); printf("請按相應數字鍵來實現相應功能\n"); printf("1.錄入學生信息 2.錄入學生成績 3.修改學生成績\n"); printf("4.查詢學生成績 5.不及格科目及名單 6.按班級輸出學生成績單\n"); printf("請輸入你要實現的功能所對應的數字:"); scanf("%d",&xuanxiang); system("cls"); getchar(); switch (xuanxiang) { case 1:input(); case 2:inputsc(); case 3:alter(); /*case 4:select score(); case 5:bujigekemujimingdan();*/ case 6:scbybanji; } } void input() { int i; printf("請輸入你的學院名稱:"); gets(x); printf("請輸入你的專業名稱:"); gets(y); printf("請輸入你的班級號:"); scanf("%d",&z); printf("請輸入你們一個班有幾個人:"); scanf("%d",&p); system("cls"); for(i=0;i<p;i++) { printf("請輸入第%d個學生的學號:",i+1); scanf("%d",xuehao[i]); getchar(); printf("請輸入第%d個學生的姓名:",i+1); gets(xm[i]); system("cls"); } printf("您已經錄入完畢您的班級所有學生的信息!\n"); printf("您的班級為%s%s%s\n",x,y,z); /*alter(p);*/ } void inputsc() { int i; for(i=0;i<p;i++) { printf("\n"); printf("--------------------------------------------------------------------------------\n\n"); printf("\t\t\t\t錄入學生的成績\n\n\n"); printf("--------------------------------------------------------------------------------\n\n"); printf("\t\t\t\t%s\n",xm[i]); printf("\n"); printf("\t\t\t\t數學:"); scanf("%d",&shuxue[i]); printf("\n"); getchar(); printf("\t\t\t\t英語:"); scanf("%d",&yingyu[i]); printf("\n"); getchar(); printf("\t\t\t\tc語言:"); scanf("%d",&c[i]); system("cls"); } } void alter() { int i;/*循環變量*/ int m[10000];/*要查詢的學號*/ int b;/*修改后的成績*/ char kemu[20]=""; printf("請輸入你要修改的學生的學號"); scanf("%d",&m); for (i=0;i<p;i++) { if (m==xuehao[i]) { printf("%s的數學成績為%d,英語成績為%d,c語言成績為%d,xm[i],shuxue[i],yingyu[i],c[i]"); printf("請輸入你想修改的科目");} } gets(kemu); getchar(); if (kemu=="數學"); { scanf("%d",&b); shuxue[i]=b;} if (kemu=="英語"); { scanf("%d",&b); yingyu[i]=b;} if (kemu=="c語言"); { scanf("%d",&b); c[i]=b; } printf("%s的數學成績為%d,英語成績為%d,c語言成績為%d,xm[i],shuxue[i],yingyu[i],c[i]"); } void scbybannji() { int i; char zyname[20]; int bjnumber; printf("請輸入你的專業名稱"); scanf("%s",&zyname); printf("請輸入你的班級號"); scanf("%d",&bjnumber); for (i=0;i<p;i++) { if (zyname==y[i]); if (bjnumber==z[i]); printf("專業名稱%s班級號%d數學成績%d英語成績%dc語言成績%d,y[i],z[i],shuxue[i],yingyu[i],c[i]"); } }
標簽: c語言
上傳時間: 2018-06-08
上傳用戶:2369043090