博文

用单片机破译计算机开机密码(2006-11-16 14:24:00)

摘要: 用单片机破译计算机开机密码   发信人: oBigeyes (以不变应万变), 信区: Circuit
标  题: 用单片机破译计算机开机密码zz
发信站: 水木社区 (Thu Jun 22 02:19:23 2006), 站内
    目前主流计算机的BIOS均为AWARD公司生产的,CMOS开机密码最长为
8个字符,采用穷举法看似有非常多的键盘组合,但经过加密运算后的有效“密文”只
有16位,即65536种,因此有大量“重复”的密码,即虽然输入的键盘组合不一
样,但CMOS中的密文是一样的,实际效果是一样的。对应这65536种密文,每
个密文只需找出一种键盘组合即可。本文讲述如何用单片机来计算出这65536种键
盘组合,并输给计算机,采用穷举法来破译CMOS密码。   一、CMOS密码加密运算方法       CMOS加密运算是:从低位到高位每一位的ASCII码左移2(n-1)位之
后相加,其中n为位数,相加结果即为密文,存入CMOS。如果密码位数较多,运算
结果超过16位,则将超出16位的部分再与低16位相加,保留此结果。 以4位密码“abcd”为例,计算机内部是将“d”的ASCII码64H保留,“
c”的ASCII值63H向左移2位,b的ASCII值62H向左移4位,a的A
SCII值61H左移6位,然后将这四个数相加得到一个16位数,此数2050H
即为运算后的密文,存入CMOS。用十进制数表示此过程即为:100+994+
9816+9764=8272转为十六进制为2050H。   二、密文向密码反推算法       由加密算法可知,肯定会存在多个密码运算后形成的密文相同的情况,因此用一个
密文,可以反推出很多组密码来,我们只需要其中一组即可。     从10进制的角度出发,密码的ASCII码与密文的关系符合如下方程: X1×1+X2×4+X3×16+X4×64+X5×256… …=密文 其中X1,X2,X3,X4等分别为密码从低到高位的ASCI......

阅读全文(5113) | 评论:0

如何设计一个合适的电源(2006-11-16 13:49:00)

摘要:如何设计一个合适的电源 对于现在一个电子系统来说,电源部分的设计也越来越重要,我想通过和大家探讨一些自己关于电源设计的心得,来个抛砖引玉,让我们在电源设计方面能够都有所深入和长进。 Q1:如何来评估一个系统的电源需求 Answer:对于一个实际的电子系统,要认真的分析它的电源需求。不仅仅是关心输入电压,输出电压和电流,还要仔细考虑总的功耗,电源实现的效率,电源部分对负载变化的瞬态响应能力,关键器件对电源波动的容忍范围以及相应的允许的电源纹波,还有散热问题等等。功耗和效率是密切相关的,效率高了,在负载功耗相同的情况下总功耗就少,对于整个系统的功率预算就非常有利了,对比LDO和开关电源,开关电源的效率要高一些。同时,评估效率不仅仅是看在满负载的时候电源电路的效率,还要关注轻负载的时候效率水平。 至于负载瞬态响应能力,对于一些高性能的CPU应用就会有严格的要求,因为当CPU突然开始运行繁重的任务时,需要的启动电流是很大的,如果电源电路响应速度不够,造成瞬间电压下降过多过低,造成CPU运行出错。 一般来说,要求的电源实际值多为标称值的+-5%,所以可以据此计算出允许的电源纹波,当然要预留余量的。 散热问题对于那些大电流电源和LDO来说比较重要,通过计算也是可以评估是否合适的。 Q2:如何选择合适的电源实现电路 Answer:根据分析系统需求得出的具体技术指标,可以来选择合适的电源实现电路了。一般对于弱电部分,包括了LDO(线性电源转换器),开关电源电容降压转换器和开关电源电感电容转换器。相比之下,LDO设计最易实现,输出纹波小,但缺点是效率有可能不高,发热量大,可提供的电流相较开关电源不大等等。而开关电源电路设计灵活,效率高,但纹波大,实现比较复杂,调试比较烦琐等等。 Q3:如何为开关电源电路选择合适的元器件和参数 Answer:很多的未使用过开关电源设计的工程师会对它产生一定的畏惧心理,比如担心开关电源的干扰问题,PCB layout问题,元器件的参数和类型选择问题等。其实只要了解了,使用一个开关电源设计还是非常方便的。 一个开关电源一般包含有开关电源控制器和输出两部分,有些控制器会将MOSFET集成到芯片中去,这样使用就更简单了,也简化了PCB设计,但是设计的灵活性就减少了一些。 开关控制器基本上就是一个闭环的反馈控制系统,所以一般都会有一个反馈......

阅读全文(2872) | 评论:1

硬件工程师必看(2006-11-16 13:46:00)

摘要:硬件工程师必看---必杀技学习[转载]   1 充分了解各方的设计需求,确定合适的解决方案 启动一个硬件开发项目,原始的推动力会来自于很多方面,比如市场的需要,基于整个系统架构的需要,应用软件部门的功能实现需要,提高系统某方面能力的需要等等,所以作为一个硬件系统的设计者,要主动的去了解各个方面的需求,并且综合起来,提出最合适的硬件解决方案。比如A项目的原始推动力来自于公司内部的一个高层软件小组,他们在实际当中发现原有的处理器板IP转发能力不能满足要求,从而对于系统的配置和使用都会造成很大的不便,所以他们提出了对新硬件的需求。根据这个目标,硬件方案中就针对性的选用了两个高性能网络处理器,然后还需要深入的和软件设计者交流,以确定内存大小,内部结构,对外接口和调试接口的数量及类型等等细节,比如软件人员喜欢将控制信令通路和数据通路完全分开来,这样在确定内部数据走向的时候要慎重考虑。项目开始之初是需要召开很多的讨论会议的,应该尽量邀请所有相关部门来参与,好处有三个,第一可以充分了解大家的需要,以免在系统设计上遗漏重要的功能,第二是可以让各个部门了解这个项目的情况,提早做好时间和人员上协作的准备,第三是从感情方面讲,在设计之初各个部门就参与了进来,这个项目就变成了大家共同的一个心血结晶,会得到大家的呵护和良好合作,对完成工作是很有帮助的。   2 原理图设计中要注意的问题 原理图设计中要有“拿来主义”,现在的芯片厂家一般都可以提供参考设计的原理图,所以要尽量的借助这些资源,在充分理解参考设计的基础上,做一些自己的发挥。当主要的芯片选定以后,最关键的外围设计包括了电源,时钟和芯片间的互连。电源是保证硬件系统正常工作的基础,设计中要详细的分析:系统能够提供的电源输入;单板需要产生的电源输出;各个电源需要提供的电流大小;电源电路效率;各个电源能够允许的波动范围;整个电源系统需要的上电顺序等等。比如A项目中的网络处理器需要1.25V作为核心电压,要求精度在+5%- -3%之间,电流需要12A左右,根据这些要求,设计中采用5V的电源输入,利用Linear的开关电源控制器和IR的MOSFET搭建了合适的电源供应电路,精度要求决定了输出电容的ESR选择,并且为防止电流过大造成的电压跌落,加入了远端反馈的功能。时钟电路的实现要考虑到目标电路的抖动等要求,A项目中......

阅读全文(2203) | 评论:0

PCB制版 相关(2006-11-09 20:23:00)

摘要:PCB工程师分级依据 工作岗位:入门级PCB工程师
  能力要求:
1、能制作简音的封装,如DIP10等到;
2、掌握至少一种PCB设计软件的基本操作,并能制订简单的布线线宽和间距等规则;
3、能对具有100个元件和200个网络或以下PCB进行较合理和有序的布局和布线;
4、能在他人或自定规则下手动或自动布线并修改,达到100%布通并DRC完全通过;
5、具备基本的机械结构和热设计知识;
6、掌握双面板走线的一些基本要求。
  工作内容:
1、简单PCB的设计和修改(如结构简音的前面板、单片机小系统板等);
2、复杂PCB中规定部分的走线;
3、与自己设计PCB相关的调试;
4、写相关的开发、调试日志。
  工作职责:对PCB中自己设计部分负责。
  工作岗位:初级PCB工程师
  能力要求:
1、能根据手册和实物制作较复杂的封装,如带灯RJ-45座等,并保证外形、焊盘等尺寸完全正确(按实物测量至少保证可插入);
  2、较熟悉掌握至少一种PCB设计软件并能独立或在指导下制订较详细的布线规则;
  3、能对具有400个元件和1000个网络或以下单、双面和多层PCB进行较合理和有序的布局和布线,能在布局布线过程中随时考虑到热设计、结构设计、电磁兼容性设计、美观等方面的要求,自己不能确定时及时向更高级PCB工程师请教或共同探讨;
  4、能在他人或自定规则下熟练手动或自动布线并修改,达到100%布通并DRC完全通过,基本上不存在线宽瓶颈、内层孤岛等问题,布线过程中能看出少量原理设计上低级错误并提出,并能正确进行引脚和门交换,能正确修改网络表和原理图;
  5、能正确导入、导出机械图纸并基本看懂结构尺寸要求;
  6、能在他人所制定规则或指导下进行一些高速和模拟PCB设计并基本稳定;
  7、丝印标志清晰明了,能独立完成出GERBER等设计输出工作并校对;
  8、具备基本的可制造性方面知识并用于实践,所设计板子50%以上可用于生产。
  工作内容:
1、较复杂PCB的设计和修改(如调度机中除CPU板外的板,十六画面分割器板等);
2、......

阅读全文(4657) | 评论:0

[转载]USB HID设备驱动程序设计 (2006-10-06 11:46:00)

摘要:[转载]USB HID设备驱动程序设计  来源:微计算机信息 摘要:USB(Universal Serial Bus)即“通用串行总线”是一种应用在计算机领域的新型接口技术。它的出现大大简化了PC机和外围设备的连接过程,使PC机接口的扩展变得更加容易。USB作为近年来计算机和嵌入式领域中的热点,推动了计算机外设的飞速发展。本文介绍了适用于PC的嵌入式操作系统的USB HID设备驱动的设计,并给出了具体的实现方法。
关键词: USB HID设备 PC 嵌入式 驱动程序
从USB 1.1到USB2.0再到目前的USB OTG(On-The-Go),USB在不断自我完善,并走向成熟。USB具有高速度、低成本、低功耗、即插即用和使用维护方便等优点,不仅成为了PC主板上的标准接口,而且成为了所有PC外部设备如键盘、鼠标、显示器、打印机、数码相机等与PC相连的标准协议之一,迅速占领了计算机中、低速外部设备的市场。 USB(Universal Serial Bus)即“通用串行总线”是一种应用在计算机领域的新型接口技术。USB的拓扑结构中居于核心地位的是Host(也称为主机)。任何一次USB的数据传输都必须由主机来发起和控制,所有的USB外设都只能和主机建立连接,任何两个外设之间或是两个主机之间无法直接通信。而目前,大量的扮演主机角色的是个人电脑PC。 随着USB应用领域的逐渐扩大,对于USB的期望也越来越高。我们希望USB能应用在各种计算机领域中,希望能通过PDA等移动设备直接和USB外设通信,使得USB能应用在没有PC的领域中。 而我们目前所使用的USB移动设备,大多数都是USB的外设,比如USB的移动硬盘、USB接口的数码相机等。所有这些设备都只能在PC上使用,只能通过PC来进行相互的文件和数据交换。 本驱动程序是为完善我们自行设计的嵌入式操作系统,使得它具备能识别USB HID设备的功能而开发的。所使用的编程语言为C语言,并下载到目标机上,通过测试验证可以识别USB HID设备,如USB键盘,USB鼠标等。本文探讨的即是PC上实现USB HID设备驱动的方法。 ⒈ HID 设备   &nbs......

阅读全文(8349) | 评论:0

VHDL语言100例 (2006-09-24 13:30:00)

摘要:VHDL语言100例 第1例 带控制端口的加法器
第2例 无控制端口的加法器
第3例 乘法器
第4例 比较器
第5例 二路选择器
第6例 寄存器
第7例 移位寄存器
第8例 综合单元库
第9例 七值逻辑与基本数据类型
第10例 函数
第11例 七值逻辑线或分辨函数
第12例 转换函数
第13例 左移函数
第14例 七值逻辑程序包
第15例 四输入多路器
第16例 目标选择器
第17例 奇偶校验器
第18例 映射单元库及其使用举
第19例 循环边界常数化测试
第20例 保护保留字
第21例 进程死锁 
第22例 振荡与死锁
第23例 振荡电路
第24例 分辨信号与分辨函数
第25例 信号驱动源
第26例 属性TRANSACTION和分辨信号
第27例 块保护及属性EVENT,
第28例 形式参数属性的测试
第29例 进程和并发语句
第30例 信号发送与接收
第31例 中断处理优先机制建模
第32例 过程限定
第33例 整数比较器及其测试
第34例 数据总线的读写
第35例 基于总线的数据通道
第36例 基于多路器的数据通道
第37例 四值逻辑函数
第38例 四值逻辑向量按位或运算
第39例 生成语句描述规则结构
第40例 带类属的译码器描述
第41例 带类属的测试平台
第42例 行为与结构的混合描述
第43例 四位移位寄存器
第44例 寄存/计数器
第45例 顺序过程调用
第46例 VHDL中generic缺省值的使用
第47例&n......

阅读全文(3735) | 评论:4

硬件设计的鸡毛蒜皮 zz(2006-09-22 17:29:00)

摘要: 硬件设计的鸡毛蒜皮zz 现象一:这些拉高/拉低的电阻用多大的阻值关系不大,就选个整数5K吧点评:市场上不存在5K的阻值,最接近的是4.99K(精度1%),其次是5.1K(精度5%),其成本分别比精度为20%的4.7K高4倍和2倍。20%精度的电阻阻值只有1、1.5、2.2、3.3、4.7、6.8几个类别(含10的整数倍);类似地,20%精度的电容也只有以上几种值,如果选了其它的值就必须使用更高的精度,成本就翻了几倍,却不能带来任何好处。 现象二:面板上的指示灯选什么颜色呢?我觉得蓝色比较特别,就选它吧点评:其它红绿黄橙等颜色的不管大小(5MM以下)封装如何,都已成熟了几十年,价格一般都在5毛钱以下,而蓝色却是近三四年才发明的东西,技术成熟度和供货稳定度都较差,价格却要贵四五倍。目前蓝色指示灯只用在不能用其它颜色替代的场合,如显示视频信号等。 现象三:这点逻辑用74XX的门电路搭也行,但太土,还是用CPLD吧,显得高档多了点评:74XX的门电路只几毛钱,而CPLD至少也得几十块,(GAL/PAL虽然只几块钱,但公司不推荐使用)。成本提高了N倍不说,还给生产、文档等工作增添数倍的工作。 现象四:我们的系统要求这么高,包括MEM、CPU、FPGA等所有的芯片都要选最快的点评:在一个高速系统中并不是每一部分都工作在高速状态,而器件速度每提高一个等级,价格差不多要翻倍,另外还给信号完整性问题带来极大的负面影响。 现象五:这板子的PCB设计要求不高,就用细一点的线,自动布吧点评:自动布线必然要占用更大的PCB面积,同时产生比手动布线多好多倍的过孔,在批量很大的产品中,PCB厂家降价所考虑的因素除了商务因素外,就是线宽和过孔数量,它们分别影响到PCB的成品率和钻头的消耗数量,节约了供应商的成本,也就给降价找到了理由。 现象六:程序只要稳定就可以了,代码长一点,效率低一点不是关键点评:CPU的速度和存储器的空间都是用钱买来的,如果写代码时多花几天时间提高一下程序效率,那么从降低CPU主频和减少存储器容量所节约的成本绝对是划算的。CPLD/FPGA设计也类似。  鸡毛蒜皮之二:低功耗设计 现象一:我们这系统是220V供电,就不用在乎功耗问题了点评:低功耗设计并不仅......

阅读全文(2184) | 评论:0

用PROTEL 电路板设计的一般原则(2006-09-22 17:01:00)

摘要:--用PROTEL DXP电路板设计的一般原则
      
    电路板设计的一般原则包括:电路板的选用、电路板尺寸、元件布局、布线、焊盘、填充、跨接线等。

    电路板一般用敷铜层压板制成,板层选用时要从电气性能、可靠性、加工工艺要求和经济指标等方面考虑。常用的敷铜层压板是敷铜酚醛纸质层压板、敷铜环氧纸质层压板、敷铜环氧玻璃布层压板、敷铜环氧酚醛玻璃布层压板、敷铜聚四氟乙烯玻璃布层压板和多层印刷电路板用环氧玻璃布等。不同材料的层压板有不同的特点。 环氧树脂与铜箔有极好的粘合力,因此铜箔的附着强度和工作温度较高,可以在 260℃的熔锡中不起泡。环氧树脂浸过的玻璃布层压板受潮气的影响较小。 超高频电路板最好是敷铜聚四氟乙烯玻璃布层压板。

   在要求阻燃的电子设备上,还需要阻燃的电路板,这些电路板都是浸入了阻燃树脂的层压板。 电路板的厚度应该根据电路板的功能、所装元件的重量、电路板插座的规格、电路板的外形尺寸和承受的机械负荷等来决定。

    主要是应该保证足够的刚度和强度。     常见的电路板的厚度有 0.5mm、1.0mm、1.5mm、2.0mm

    从成本、铜膜线长度、抗噪声能力考虑,电路板尺寸越小越好,但是板尺寸太小,则散热不良,且相邻的导线容易引起干扰。 电路板的制作费用是和电路板的面积相关的,面积越大,造价越高。 在设计具有机壳的电路板时,电路板的尺寸还受机箱外壳大小的限制,一定要在确定电路板尺寸前确定机壳大小,否则就无法确定电路板的尺寸。 一般情况下,在禁止布线层中指定的布线范围就是电路板尺寸的大小。电路板的最佳形状是矩形,长宽比为 3:2 或 4:3,当电路板的尺寸大于 200mm×150mm 时,应该考虑电路板的机械强度。 总之,应该综合考虑利弊来确定电路板的尺寸。

    虽然 Protel DXP 能够自动布局,但是实际上电路板的布局几乎都是手工完成的。要进行布局时,一般遵循如下规则:

阅读全文(1752) | 评论:0

Protel 快捷键(2006-09-22 16:58:00)

摘要: protel 快捷键      Protel 99 SE的快捷键

enter——选取或启动 k昋{HxP<z  
esc——放弃或取消 ?m髙胋v? 
f1——启动在线帮助窗口 免/7MB
tab——启动浮动图件的属性窗口 S际8?{  
pgup——放大窗口显示比例 b韓??b? 
pgdn——缩小窗口显示比例 麀輽鏸仢? 
end——刷新屏幕 騚憣疕$@x? 
del——删除点取的元件(1个) 犯i[l? +? 
ctrl+del——删除选取的元件(2个或2个以上) S愝s~z  
x+a——取消所有被选取图件的选取状态 仜"摬 }B  
x——将浮动图件左右翻转 ?v觡?霞? 
y——将浮动图件上下翻转 觥g鐩徙 ? 
space——将浮动图件旋转90度 猆8r幅w髾  
crtl+ins——将选取图件复制到编辑区里 o-腢蕸鞤V9  
shift+ins——将剪贴板里的图件贴到编辑区里 痬?稄@  
shift+del——将选取图件剪切放入剪贴板里 ?蚦━dF? 
alt+backspace——恢复前一次的操作 (隍q畨R  
ctrl+backspace——取消前一次的恢复 13,? 衱  
crtl+g——跳转到指定的位置 埽 aⅧ'~犘  
crtl+f——寻找指定的文字 ?兎+釫*:  
alt+f4——关闭protel 條?绰  
spacebar——绘制导线,直线或总线时,改变走线模式 ?W鋪d功? 
v+d——缩放视图,以显示整张电路图 SZ褬菜zd!  
v+f——缩放视图,以显示所有电路部件 繍孪€?栏? 
      P+P--放置焊盘(PCB) 燊箾濾  
    &n......

阅读全文(340) | 评论:0

高速PCB设计指南(2006-09-22 16:53:00)

摘要:高速PCB设计指南  高速PCB设计指南之一
  第一篇  PCB布线 在PCB设计中,布线是完成产品设计的重要步骤,可以说前面的准备工作都是为它而做的, 在整个PCB中,以布线的设计过程限定最高,技巧最细、工作量最大。PCB布线有单面布线、 双面布线及多层布线。布线的方式也有两种:自动布线及交互式布线,在自动布线之前, 可以用交互式预先对要求比较严格的线进行布线,输入端与输出端的边线应避免相邻平行, 以免产生反射干扰。必要时应加地线隔离,两相邻层的布线要互相垂直,平行容易产生寄生耦合。
    自动布线的布通率,依赖于良好的布局,布线规则可以预先设定, 包括走线的弯曲次数、导通孔的数目、步进的数目等。一般先进行探索式布经线,快速地把短线连通, 然后进行迷宫式布线,先把要布的连线进行全局的布线路径优化,它可以根据需要断开已布的线。 并试着重新再布线,以改进总体效果。
    对目前高密度的PCB设计已感觉到贯通孔不太适应了, 它浪费了许多宝贵的布线通道,为解决这一矛盾,出现了盲孔和埋孔技术,它不仅完成了导通孔的作用, 还省出许多布线通道使布线过程完成得更加方便,更加流畅,更为完善,PCB 板的设计过程是一个复杂而又简单的过程,要想很好地掌握它,还需广大电子工程设计人员去自已体会, 才能得到其中的真谛。 1 电源、地线的处理
    既使在整个PCB板中的布线完成得都很好,但由于电源、 地线的考虑不周到而引起的干扰,会使产品的性能下降,有时甚至影响到产品的成功率。所以对电、 地线的布线要认真对待,把电、地线所产生的噪音干扰降到最低限度,以保证产品的质量。
    对每个从事电子产品设计的工程人员来说都明白地线与电源线之间噪音所产生的原因, 现只对降低式抑制噪音作以表述:
(1)、众所周知的是在电源、地线之间加上去耦电容。
(2)、尽量加宽电源、地线宽度,最好是地线比电源线宽,它们的关系是:地线>电源线>信号线,通常信号线宽为:0.2~0.3mm,最经细宽度可达0.05~0.07mm,电源线为1.2~2.5 mm
对数字电路的PCB可用宽的地导线组成一个回路,......

阅读全文(2037) | 评论:0