PCB设计原则
上传时间: 2014-01-16
上传用户:daoxiang126
误区一:认为差分信号不需要地平面作为回流路径,或者认为差分走线彼此为对方提供回流途径。造成这种误区的原因是被表面现象迷惑,或者对高速信号传输的机理认识还不够深入。虽然差分电路对于类似地弹以及其它可能存在于电源和地平面上的噪音信号是不敏感的。地平面的部分回流抵消并不代表差分电路就不以参考平面作为信号返回路径,其实在信号回流分析上,差分走线和普通的单端走线的机理是一致的,即高频信号总是沿着电感最小的回路进行回流,最大的区别在于差分线除了有对地的耦合之外,还存在相互之间的耦合,哪一种耦合强,那一种就成为主要的回流通路。
上传时间: 2013-10-25
上传用户:zhaiyanzhong
随着总线和接口技术的发展,在工业场合如何更加可靠、快速、便捷地进行数据传输成为该领域通信的研究重点之一。而USB技术以其高速、可靠、通用性强等一系列特点在过去的十多年时间里发展迅猛,而USB OTG技术的诞生,使得两USB设备在没有PC参与的情况下进行数据传输成为可能。本文通过搭建以16位微处理器MSP430F149为核心控制芯片、ISPl362为USB接口芯片的硬件平台,分别实现了USB部分主机和从机功能,使之能进行USB数据的存储与交换。本文完成以下工作:首先,认真研究USB协议,深入理解USB通信的基本概念和传输方式等内容。仔细分析USB Mass Storage类协议,并讨论了采用BULK-ONLY传输实现Mass Storage类协议的方法,并对SCSI指令集等进行了深入的剖析。其次,根据要求,设计出由控制、接口、数据存储、过流保护与供电切换电路等硬件模块组成的系统,在ALTIUM 2004软件上完成原理图的设计和PCB图的布局、布线,并完成硬件调试工作。再次,在已构建的硬件平台上,针对ISPl362 USB接口芯片的主/从机功能,分别设计了USB主机和从机的固件程序。利用IAR Workbench、BusHound等软件进行固件程序的调试,最终USB主机可对u盘进行检测、识别与配置;USB设备实现了USB设备的基本功能,能够被Windows XP操作系统识别,与PC机之间实现数据的批量传输。最后,用DriverWorks软件包的Driver Wizard生成驱动程序框架,并利用Windows DDK和vc++等软件进行驱动程序的编译,最终生成基于Windows操作系统的WDM型USB设备驱动程序。通过对USB通信协议的研究,本人成功地构建了以MsP430F149和ISPl362为核心的硬件试验平台,并在此平台上进行USB主机、从机通信试验。经测试表明,PC机能检测、识别、读写USB设备,其读取与写入速度分别为560KB/s和312Ⅺ玳。而主机能识别、配置接入的U盘。关键词:USB主机、USB从机、MSI'430F149、ISPl362、BuR-Only传输
上传时间: 2013-10-11
上传用户:浅言微笑
介绍一个实用的PCB电路板,布线方法独特。
上传时间: 2016-06-23
上传用户:huannan88
Protel99SE速成,精彩教程,教大家:1.画画简单的原理图(SCH)2.学会创建SCH零件 2.把原理图转换成电路板(PCB) 3.对PCB进行自动布线 4.学会创建PCB零件库 5.学会一些常用的PCB高级技巧。
上传时间: 2013-12-12
上传用户:水中浮云
印制板线路设计经验 高速PCB设计指南 PCB设计的一些技巧
上传时间: 2016-06-23
上传用户:雨月飞
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count); } } 【程序3】 题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。 public class lianxi03 { public static void main(String[] args) { int b1, b2, b3;
上传时间: 2017-12-24
上传用户:Ariza
#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
大学课程设计 1、掌握原理图绘制的环境参数及设置方法; 2、完成单片机最小系统电路的原理图绘制; 3、掌握PCB板的编辑环境及参数设置; 4、熟练完成单片机最小系统电路的PCB设计; 5、了解交互式布线的含义及PCB板的设计技巧; 1、掌握原理图绘制的环境参数及设置方法; 2、完成单片机最小系统电路的原理图绘制; 3、掌握PCB板的编辑环境及参数设置; 4、熟练完成单片机最小系统电路的PCB设计; 5、了解交互式布线的含义及PCB板的设计技巧;
标签: 单片机设计
上传时间: 2019-03-07
上传用户:00001111
印刷電路板(PCB )設計佈局指南,主要應用註釋
上传时间: 2021-11-30
上传用户: