stm8调试硬件I2C心得

stm8调试硬件I2C心得
stm8调试硬件I2C心得

(完整版)单板硬件调试报告.doc

xxx 有限公司产品版本密级文档中心 产品名称:共 18页 XX 单板硬件调试和单元测试报告 (仅供内部使用 ) 拟制 : 日期:yyyy-mm-dd 审核 : 日期:yyyy-mm-dd 审核 : 日期:yyyy-mm-dd 批准 : 日期:yyyy-mm-dd

日期版本描述作者 2001-06-08 1.00 初稿完成作者名yyyy-mm-dd 1.01 修改 XXX 作者名yyyy-mm-dd 1.02 修改 XXX 作者名????????yyyy-mm-dd 2.00 修改 XXX 作者名

1概述 6 1.1基本情况介绍 6 1.2单板模块划分 6 1.3调试测试组网图 6 1.4调试时间、地点及人员 6 2调试测试用例记录 6 2.1功能部分调试 6 2.1.1模块 1 6 2.1.1.1调试用例 1 6 2.1.1.2调试用例 2 6 模块 2 6 2.1.2 2.1.3问题列表7 2.2信号质量测试用例7 电源8 2.2.1 2.2.1.1测试数据8 2.2.1.2测试波形及分析8 2.2.1.3问题列表8 逻辑信号9 2.2.2 2.2.2.1测试结果9 2.2.2.2测试波形及分析9 2.2.2.3问题列表9 2.2.3时钟信号10 2.2. 3.1测试结果10 2.2. 3.2实测波形及分析10 2.2. 3.3问题列表10 2.3时序测试用例10 2.3.1CPU 接口部分时序11 2.3.1.1测试结果11 2.3.1.2测试时序及分析11 2.3.2业务接口部分时序11 2.3.2.1测试结果11 2.3.2.2测试时序及分析12 2.3.3问题列表12 2.4失效器件原因分析12 3调试测试总结12 3.1调试测试结果12 3.2遗留问题报告13 3.3调试测试经验总结14 4其他14 5评审报告14

悠景OLED (STM8S)I2C驱动

/******************************************************* ******************** * 文件名:oled.c * 描述:SSD1306 OLED 驱动IC驱动代码 * 驱动方式:I2C * i_restart@https://www.360docs.net/doc/3d736058.html, DB.Yan * 最后修改:2013-12-03 * *硬件连接图 |----------------------------------------------------------------| | SCL---PB4 | | SDA---PB5 | | RST---PD7 | ******************************************************************************/ #include "oled.h" #include "stdlib.h" #include "font.h" //OLED的显存 //存放格式如下. //Page[0]0 1 2 3 (127) //Page[1]0 1 2 3 (127) //Page[2]0 1 2 3 (127) //Page[3]0 1 2 3 (127) //Page[4]0 1 2 3 (127) //Page[5]0 1 2 3 (127) //Page[6]0 1 2 3 (127) //Page[7]0 1 2 3 (127) uint8_t OLED_GRAM[128][8]; #define SCL PB_ODR_ODR4 #define SDA PB_ODR_ODR5 #define SDAM PB_IDR_IDR5 #define RST PD_ODR_ODR7 #define SET_SCL_OUT() {PB_DDR_DDR4=1; PB_CR1_C14 = 1; PB_CR2_C24 = 0;} #define SET_SDA_OUT() {PB_DDR_DDR5=1; PB_CR1_C15 = 1; PB_CR2_C25 = 0;} #define SET_SDA_IN() {PB_DDR_DDR5=0; PB_CR1_C15 = 0; PB_CR2_C25 = 0;} #define SET_RST_OUT() {PD_DDR_DDR7=1;PD_CR1_C17 = 1;PD_CR2_C27 = 0;} //-------------------------------------------------------------- // Prototype : void I2C_Init(void) // Calls :

实验八 IIC通信协议

实验八I2C通信协议 一、实验目的: 1、培养学生阅读资料的能力; 2、加深学生对I2C总线通信协议的理解; 3、加强学生对模块化编程的理解; 二、实验环境: 1、硬件环境:PC机一台、单片机实验板一块、母头串口交叉线、USB电源线; 2、软件环境:keil uVision2集成开发环境; STC-ISP下载上位机软件; 三、实验原理: 要学会I2C通信协议的编程,关键是要看懂并掌握其时序图,理解对I2C通信协议相关子程序的实验编写。I2C通信协议的总线时序图如下所示: I2C总线时序图 I2C相关子程序的详细介绍 1、起始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。 2、结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。 起始信号和结束信号的时序图如下所示: 起始信号和结束信号的时序图 起始信号的流程如下:

1、SCL和SDA拉高,保持时间约为0.6us-4us; 2、拉低SDA,保持时间为约为0.6us-4us; 3、拉低时钟线 结束信号的流程如下: 1、SCL置高电平,SDA置低电平,保持时间约为0.6us-4us 2、SDA拉高,保持时间约为1.2-4us; 应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。 若未收到应答信号,由判断为受控单元出现故障。应答信号的时序图如下所示: 应答时序图 发送时的应答信号 ;**********应答信号********** ACK: SETB SDA ;数据线置高 SETB SCL ;时钟线置高 ACALL DELAY JB SDA,$ ;等待数据线变低 ACALL DELAY CLR SCL ;时钟线置低 RET 注意:这里如果数据线一直为高将进入死循环,所以一般我们都会在这做一个容错的处理。具体的程序如下: ACK: MOV R4,#00H SETB SDA SETB SCL LOP0: JNB SDA,LOP DJNZ R4,LOP0 ;循环255次 LOP: ACALL DEL CLR SCL RET 接收时的应答信号

硬件测试工程师岗位的实习报告

关于在浪潮(北京)电子信息产业有限公司从事硬件测试工程师岗位的实习报告 一、实习单位及岗位简介 (一)单位简介: 浪潮是中国领先的计算平台与IT应用解决方案供应商,同时,也是中国最大的服务器制造商和服务器解决方案提供商。 浪潮(北京)电子信息产业有限公司(简称浪潮北京公司)是浪潮集团的龙头企业,是上市公司——“浪潮信息”(0977)的主体,定位于中国高端商用计算与服务领域的领先厂商,是中国在高端商用计算与服务领域中唯一能够与国际品牌相抗衡的厂商。主营业务涵盖IA服务器、高性能服务器、存储系统和商用电脑。目前,浪潮拥有服务器生产、研发基地——浪潮北方基地,并拥有唯一的国家设在企业的服务器重点实验室以及国内领先的解决方案中心。 (二)岗位介绍: 随着IT在全球范围的不断推广和完善,IT产品涉及通信,电脑,家电,服务等领域,遍及全球每个角落,已经成为人类生存的必用品。IT产品的市场体现不在于技术本身,而是看产品是否经得住用户的考验,性价比好的产品始终是用户心目中的首选。因此在相同技术的前提下,如何把握好产品的质量就成为该产品在市场上是否有强劲体现最为重要的部分。硬件测试的目的就是站在用户的角度,对产品的功能,性能,可靠性,兼容性,稳定性等进行严格的检查,对于不兼容或者出问题的设备给出相应得解决方案。 提前体验用户感受的同时提高产品的市场竞争力。硬件测试是产品从研发走向生产的必经阶段,也是决定产品质量的重要环节,如何将测试工作开展的更全面、更仔细、更专业完善也是众多企业所追求的目标。 测试是以评价一个设备性能或者可靠性为目标的一种活动,测试是对设备质量的度量与评估,以验证设备的质量满足用户的需求,为用户选择与接受设备提供有力的依据。 这一工作是硬件测试的最终目标,在前两项工作的基础上,自然可以很好的完成此部分工作的内容。在对测试的目的有了更准确认识的基础上,我们才能够很好的完成测试工作,在和开发团队、管理者共同的努力下,更好的提升产品的质量,满足用户的需求。

单片机系统等的硬件调试方法_百度文库

单片机系统等的硬件调试方法 1、首先是焊接的顺序问题。当初板子做好以后,我一口气就把所有的元件焊上去了,这样对于没有调试过的板子,就很难找到原因。所以焊接的顺序很重要,应该是应该按功能划分的器件进行焊接,顺序是功能部件的焊接--调试(OK--另一功能部件的焊接,这样容易找到问题的所在。 2、如果在调试按功能划分的器件上出现问题,可以按以下步骤进行: 1)检查原理图连接是否正确 2)检查原理图与PCB图是否一致 3)检查原理图与器件的DATASHEET上引脚是否一致 4)用万用表检查是否有虚焊,引脚短路现象 5)查询器件的DATASHEET,分析一下时序是否一致,同时分析一下命令字是否正确(注意,命令字的顺序很重要,前些日子调试INTEL e28F640这款flash是的时候,在对其擦除和写操作的时候,就碰到了这样的问题) 6)有条件的可以用示波器。如我就是通过示波器对SRAM各个引脚进行检查,发现地址线都是有信号的,而数据线无信号出现,才找到问题所在。 7)飞线。用别的的口线进行控制,看看能不能对其进行正常操作,多试验,才能找到问题出现在什么地方。 3、多观察,多思考。如我前些日子在调试320×240点阵LCD的时候,发现怎么也不能出现图像,后来在偶然的机会下,发现LCD在MPU的CS2口线下,出现闪动

的情况,猜测这时候有数据写入到LCD中,仔细研究才发现,MPU的DATA0-7线与74LVC245的A0-7连接在一起,MPU的通过一个GAL16V8或是与非门等芯片进行逻辑组合后与74LVC245的OE引脚相连,这样MPU只有在某一地址范围内才可以进行数据读写操作。所以在调试过程中,对于出现的任何现象都不要放过,问题的解决就是从一些小的现象入手的。山重水复疑无路,柳暗花明又一村。 4、有可能的情况下,最好焊两块板子以上,这样才好有个比较,硬件上很小的问题有很多时候是很难发现的。 5、软件的调试要和硬件配合进行,往往问题可能不是硬件上的。 单片机应用系统硬件调试技巧 在单片机开发过程中,从硬件设计到软件设计几乎是开发者针对本系统特点亲自完成的。这样虽然可以降低系统成本,提高系统的适应性,但是每个系统的调试占去了总开发时间的2/3,可见调试的工作量比较大。单片机系统的硬件调试和软件调试是不能分开的,许多硬件错误是在软件调试中被发现和纠正的。但通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障。可见硬件的调试是基础,如果硬件调试不通过,软件设计则是无从做起。本文结合作者在单片机开发过程中体会,讨论硬件调试的技巧。 当硬件设计从布线到焊接安装完成之后,就开始进入硬件调试阶段,调试大体分为以下几步。 1 硬件静态的调试 1.1 排除逻辑故障 这类故障往往由于设计和加工制板过程中工艺性错误所造成的。主要包括错线、开路、短路。排除的方法是首先将加工的印制板认真对照原理图,看两者是否一致。

stm8中断使用

stm8中断使用 工程应用分析 最近的一个项目中用到了stm8s,一个比较重要的知识点就是中断的使用。暂且称stm8s这边做从机,要进行双机通信。stm8s作“从机”接收数据,也可以发送数据给主机。 自定了一个通信协议,一个CLK线,一个DAT线,CLK线总是由主机边控制。类似于I2C通信,CLK为高时,DAT由高到底表示开始。CLK 位高时,DAT由低到高表示结束。CLK为高电平时,DAT线数据为保持,为低电平时允许数据跳变。实际的时序图如下: 我这边接收数据其实有很多种方法,比如: 1.可以在程序主循环while(1)中每一次周期监视检测电平的变化,来达到判断信号的目的 2.采用延时,很多常用的通信会采用,比如我们接收数据,在高电平读数据,传送16位数据,得到第一个CLK高电平之后,可以直接延时固定间隔时间读,就可以得到下一个高电平时DAT数据,以此类推 3.采用中断,不依赖于时间,完全依赖于硬件检测电平变化 4.采用中断加延时的方法 评价: 1的方法,对时间要求比较高,因为有传输速度的要求,电平变化本来比较快,应尽可能缩短主循环一次执行时间,后续添加其他功能会有影响 2的方法,对时间要求比较高,双机通信,一对一尚可,如果一对很多,不稳定,待验证 3的方法,完全依赖于自身的硬件,比较稳定 4的方法,依然存在2的缺点,情况类似 最终实现方法DAT触发条件为上升沿和下降沿,CLK触发条件为上升沿 DAT触发,检测DAT电平,只有开始和结束符合条件,所以可以用这个来判断开始位和结束位。CLK上升沿触发中断,读DAT,可以保证肯定是在高电平时读的数据。俩个中断同时开启,最终的操作还是简单的,参考代码如下:

简单的I2C协议理解 i2c程序(调试通过)

简单的I2C协议理解 一. 技术性能: 工作速率有100K和400K两种; 支持多机通讯; 支持多主控模块,但同一时刻只允许有一个主控; 由数据线SDA和时钟SCL构成的串行总线; 每个电路和模块都有唯一的地址; 每个器件可以使用独立电源 二. 基本工作原理: 以启动信号START来掌管总线,以停止信号STOP来释放总线; 每次通讯以START开始,以STOP结束; 启动信号START后紧接着发送一个地址字节,其中7位为被控器件的地址码,一位为读/写控制位R/W,R /W位为0表示由主控向被控器件写数据,R/W为1表示由主控向被控器件读数据; 当被控器件检测到收到的地址与自己的地址相同时,在第9个时钟期间反馈应答信号; 每个数据字节在传送时都是高位(MSB)在前; 写通讯过程: 1. 主控在检测到总线空闲的状况下,首先发送一个START信号掌管总线; 2. 发送一个地址字节(包括7位地址码和一位R/W); 3. 当被控器件检测到主控发送的地址与自己的地址相同时发送一个应答信号(ACK); 4. 主控收到ACK后开始发送第一个数据字节; 5. 被控器收到数据字节后发送一个ACK表示继续传送数据,发送NACK表示传送数据结束; 6. 主控发送完全部数据后,发送一个停止位STOP,结束整个通讯并且释放总线; 读通讯过程: 1. 主控在检测到总线空闲的状况下,首先发送一个START信号掌管总线; 2. 发送一个地址字节(包括7位地址码和一位R/W); 3. 当被控器件检测到主控发送的地址与自己的地址相同时发送一个应答信

号(ACK); 4. 主控收到ACK后释放数据总线,开始接收第一个数据字节; 5. 主控收到数据后发送ACK表示继续传送数据,发送NACK表示传送数据结束; 6. 主控发送完全部数据后,发送一个停止位STOP,结束整个通讯并且释放总线; 四. 总线信号时序分析 1. 总线空闲状态 SDA和SCL两条信号线都处于高电平,即总线上所有的器件都释放总线,两条信号线各自的上拉电阻把电平拉高; 2. 启动信号START 时钟信号SCL保持高电平,数据信号SDA的电平被拉低(即负跳变)。启动信号必须是跳变信号,而且在建立该信号前必修保证总线处于空闲状态; 3. 停止信号STOP 时钟信号SCL保持高电平,数据线被释放,使得SDA返回高电平(即正跳变),停止信号也必须是跳变信号。 4. 数据传送 SCL线呈现高电平期间,SDA线上的电平必须保持稳定,低电平表示0(此时的线电压为地电压),高电平表示1(此时的电压由元器件的VDD决定)。只有在SCL线为低电平期间,SDA上的电平允许变化。 5. 应答信号ACK I2C总线的数据都是以字节(8位)的方式传送的,发送器件每发送一个字节之后,在时钟的第9个脉冲期间释放数据总线,由接收器发送一个ACK(把数据总线的电平拉低)来表示数据成功接收。 6. 无应答信号NACK 在时钟的第9个脉冲期间发送器释放数据总线,接收器不拉低数据总线表示一个NACK,NACK有两种用途: a. 一般表示接收器未成功接收数据字节; b. 当接收器是主控器时,它收到最后一个字节后,应发送一个NACK信号,以通知被控发送器结束数据发送,并释放总线,以便主控接收器发送一个停止信号STOP。 五. 寻址约定

I2C总线协议规范 v2.1

THE I2C-BUS SPECIFICATION VERSION 2.1 JANUARY 2000

CONTENTS 1PREFACE. . . . . . . . . . . . . . . . . . . . . . . . . . .3 1.1Version 1.0 - 1992. . . . . . . . . . . . . . . . . . . . 3 1.2Version 2.0 - 198. . . . . . . . . . . . . . . . . . . . . 3 1.3Version 2.1 - 1999. . . . . . . . . . . . . . . . . . . . 3 1.4Purchase of Philips I2C-bus components . . 3 2THE I2C-BUS BENEFITS DESIGNERS AND MANUFACTURERS. . . . . . . . . . . . . . .4 2.1Designer benefits . . . . . . . . . . . . . . . . . . . . 4 2.2Manufacturer benefits. . . . . . . . . . . . . . . . . 6 3INTRODUCTION TO THE I2C-BUS SPECIFICATION . . . . . . . . . . . . . . . . . . . . .6 4THE I2C-BUS CONCEPT . . . . . . . . . . . . . . .6 5GENERAL CHARACTERISTICS . . . . . . . . .8 6BIT TRANSFER . . . . . . . . . . . . . . . . . . . . . .8 6.1Data validity . . . . . . . . . . . . . . . . . . . . . . . . 8 6.2START and STOP conditions. . . . . . . . . . . 9 7TRANSFERRING DATA. . . . . . . . . . . . . . .10 7.1Byte format . . . . . . . . . . . . . . . . . . . . . . . . 10 7.2Acknowledge. . . . . . . . . . . . . . . . . . . . . . . 10 8ARBITRATION AND CLOCK GENERATION . . . . . . . . . . . . . . . . . . . . . .11 8.1Synchronization . . . . . . . . . . . . . . . . . . . . 11 8.2Arbitration . . . . . . . . . . . . . . . . . . . . . . . . . 12 8.3Use of the clock synchronizing mechanism as a handshake. . . . . . . . . . . 13 9FORMATS WITH 7-BIT ADDRESSES. . . .13 107-BIT ADDRESSING . . . . . . . . . . . . . . . . .15 10.1Definition of bits in the first byte . . . . . . . . 15 10.1.1General call address. . . . . . . . . . . . . . . . . 16 10.1.2START byte . . . . . . . . . . . . . . . . . . . . . . . 17 10.1.3CBUS compatibility. . . . . . . . . . . . . . . . . . 18 11EXTENSIONS TO THE STANDARD- MODE I2C-BUS SPECIFICATION . . . . . . .19 12FAST-MODE. . . . . . . . . . . . . . . . . . . . . . . .19 13Hs-MODE . . . . . . . . . . . . . . . . . . . . . . . . . .20 13.1High speed transfer. . . . . . . . . . . . . . . . . . 20 13.2Serial data transfer format in Hs-mode. . . 21 13.3Switching from F/S- to Hs-mode and back . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2313.4Hs-mode devices at lower speed modes. . 24 13.5Mixed speed modes on one serial bus system. . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 13.5.1F/S-mode transfer in a mixed-speed bus system. . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 13.5.2Hs-mode transfer in a mixed-speed bus system. . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 13.5.3Timing requirements for the bridge in a mixed-speed bus system. . . . . . . . . . . . . . 27 1410-BIT ADDRESSING. . . . . . . . . . . . . . . . 27 14.1Definition of bits in the first two bytes. . . . . 27 14.2Formats with 10-bit addresses. . . . . . . . . . 27 14.3General call address and start byte with 10-bit addressing. . . . . . . . . . . . . . . . . . . . 30 15ELECTRICAL SPECIFICATIONS AND TIMING FOR I/O STAGES AND BUS LINES. . . . . . . . . . . . . . . . . . . . 30 15.1Standard- and Fast-mode devices. . . . . . . 30 15.2Hs-mode devices. . . . . . . . . . . . . . . . . . . . 34 16ELECTRICAL CONNECTIONS OF I2C-BUS DEVICES TO THE BUS LINES . 37 16.1Maximum and minimum values of resistors R p and R s for Standard-mode I2C-bus devices . . . . . . . . . . . . . . . . . . . . . 39 17APPLICATION INFORMATION. . . . . . . . . 41 17.1Slope-controlled output stages of Fast-mode I2C-bus devices. . . . . . . . . . . . 41 17.2Switched pull-up circuit for Fast-mode I2C-bus devices . . . . . . . . . . . . . . . . . . . . . 41 17.3Wiring pattern of the bus lines. . . . . . . . . . 42 17.4Maximum and minimum values of resistors R p and R s for Fast-mode I2C-bus devices . . . . . . . . . . . . . . . . . . . . . 42 17.5Maximum and minimum values of resistors R p and R s for Hs-mode I2C-bus devices . . . . . . . . . . . . . . . . . . . . . 42 18BI-DIRECTIONAL LEVEL SHIFTER FOR F/S-MODE I2C-BUS SYSTEMS . . . . 42 18.1Connecting devices with different logic levels. . . . . . . . . . . . . . . . . . . . . . . . . 43 18.1.1Operation of the level shifter . . . . . . . . . . . 44 19DEVELOPMENT TOOLS AVAILABLE FROM PHILIPS. . . . . . . . . . . . . . . . . . . . . 45 20SUPPORT LITERATURE . . . . . . . . . . . . . 46

设备调试报告

设备调试报告 2016年8月15日—2016 年8月16 日 设备名称三效蒸发器调试地址武汉北湖云峰环保科技有限公司内 需方武汉北湖云峰环保科技有限 公司 需方代表 供方武汉晟驰机械有限公司供方代表 一、设备、原料、工艺概况 设备组成部分: 一、二、三效加热器、一、二、三效分离器、一、二、三效结晶器I、II、III效循环出料泵、真空泵、冷凝水泵、进料泵、工作平台、配电箱等组成。 设备工作原理: 通过热交换,将水溶液加热至沸点,将溶液中的部分水份汽化,并排出,以提高溶液的浓度,达到获得晶体的目的。 原料数据: 乳化液废水。 溶液呈碱性 物料蒸发量为3吨/小时。 二、调试方案 处理物料:乳化液废水 1)开机步骤: 1、开启冷却循环水,保证冷凝器以及各泵机封均有冷却水通过。 2、开启真空泵(运行过程中的真空度分别为:一效加热器的真空度为0,温度为100度左右,二 效加热器的真空度约为-0.04MPa,温度约为85度左右,三效加热器的真空度约为-0.06~ -0.07MPa左右,温度约为70度左右,冷凝器内的真空度不超过-0.093MPa,温度不高于50

度),如真空度过高,真空泵出现异响,请将破空阀逐渐打开,直到异响声消失为止。 3、打开进料泵,将物料送入III、II、I效蒸发器内,液位在各分离器的视镜中间。(重点) 4、各效蒸发器内的液位达到最低液位后,方可开启各效的循环泵(输送泵)。 5、循环泵打开后,缓慢开启蒸汽阀,开始不要进得太大,蒸汽由调节阀自动控制,控制温度不高 于100度。 6、当一效加热器内的压力为负压时,逐渐开启蒸汽阀门或是关小一效冷凝水阀门,特别注意,各 效冷凝水阀门绝对不能完全关闭。 7、蒸汽阀门打开后,各效加热器及冷凝器内会产生冷凝水,此时可打开冷凝水泵。 8、各效循环泵一直保持开启状态,防止溶液浓度变高后,睹塞管道。 9、勤测出料浓度,出料浓度最好控制在85-90%之间。(从最下面的视镜观察浓度是否增加,或 是取样测比重)浓度较高时(90%)需要将浓缩液排出,防止睹泵。循环出料泵需要一直开着,防止睹泵。出料阀启闭以分离器内的浓度而定。 10、在整个生产过程中不允许中断冷却水。 11、在整个生产过程中不允许中断物料。 2)关机顺序: 1\关闭蒸汽 2\约5分钟后关闭真空泵,同时破真空。 3\破真空后,关闭冷凝水泵。 4\打开出料阀,将浓缩液排出,同时手动打开进料阀,补稀料。 (连续排出浓缩液,也连续进稀料,将设备内的物料稀释,置换)。 5\待蒸发器内的浓缩液被稀料稀释后,排尽设备内物料。 6\最后停冷却水。 7\停机结束。

硬件工程的调试一般步骤

如果是自己焊板子自己调,适合小规模系统 1.拿到PCB裸板时,检查加工的怎么样,测量一下电源地有没有短路的。 2. 焊接上电源芯片,通上电源,把电源调通,看看电压是不是都正常,纹波系数是否超标。 3. 焊上主控制器芯片(微处理器),及其相关最小外围电路,jtag调试,串口,ram,rom,就是先让最小系统跑起来。 如果jtag都是好的,写个hello,world看看cpu内核能部不能工作,调试外部的ram,rom。 写外设测试驱动,测试驱动很考量人的,一般是要由硬件工程师来干,但是就看水平怎么样了,总会出现硬件的人厌软件错误,软件的人厌硬件错误。 找外面焊接回来的板子也一样这个步骤。 板子突然不work了怎么办? 1.测量电压 2.测量晶振(体)是否起振,注意晶体的输出幅值比较小,晶振则和其电压相差不大 3. 用无水酒精把板子擦洗一遍,应为在调试的过程中某些管脚总会搞进点污秽,引起短路,这个方法解决了我碰到过的大约40%左右的板子突然罢工。 4.尝试降低频率。 搞这个的人就是知识面越广越好,干过的系统越多越好,像v哥那样最nb "测量电压“这一个放第1充分说明了这位贤弟确实是实战中成长的。非常正确。加一条: 一定要把LED电路调通。从而,软件工程师可以通过LED发光颜色来调试板子

和硬件。。。 呵呵呵也算是比较务实的解决办法 想当年我也是这样调硬件的,就是没写帖子,哈哈, 我觉得不管是做硬件,还是软件,最重要的是思想,是分析问题的能力,逻辑思维一定要清晰, 没测一项就要能排除一些问题,不要做一些重复的测试,记不住就用本子写下来。 高手的经验几乎有些神似 虽说自己在硬件调试上远没有达到牛人级的水平,手上过的板子也没多少,但是硬件调试中遇到的记忆深刻或者让自己痛不欲生(呵呵,有点夸张,但有时就是如此)问题还是很有一些,自己也总结过一些东西,特别是每次看到学生在硬件调试时遇到问题难以克服而无助无辜无厘头的样子时,总是想写下点什么: 首先拿到打样的PCB板时,不急着焊元件,检查下PCB,有时候PCB本身就短路或开路,特别是电源部分,要是全部焊好后再找问题,会找死人的! 其次调试时最好是一步步来(不要一次把所有元件全焊上),焊一部份调一部份。这样可以减少不必要的工作量,达到事半功倍的效果。先调电源,电源没有问题了,再往下调。 然后再调CUP的硬件部份,复位电压,晶振,CUP电压,地,及周围IC的电源,地。确认没有问题后,基本可以确认硬件没有什么大问题,接着通电进行整机调式,看看工作的状态是否与你理解的一样。如果出现问题,那对照原理,按

关于IIC的通信协议程序

#define uchar unsigned char #define uint unsigned int #define ulong unsigned long #define _BV(bit) (1 << (bit)) #ifndef cbi #define cbi(reg,bit) reg &= ~_BV(bit) #endif #ifndef sbi #define sbi(reg,bit) reg |= _BV(bit) #endif extern uchar dog; /* void delay_1ms(uchar xtal) { uchar i; for(i=0;i<(uint)(143*xtal-2);i++) {;} } //2 延时nms void delay_ms(uchar m, uchar fosc) { uchar i; i=0; while(i

测试方案 硬件类

XXXXXX XXXXXXXXXXXXXX 项目名称 测试方案 XXX公司 二〇XX年X月

文档修改记录

目录

第一章引言 1.1编写目的 提示:该文档对测试工作的指导作用及阅读该文档的主要对象 【编写实例参见如下:】 编写该文档的主要目的在于从总体上明确××××××学生工作管理系统Beta1版本的功能模块和实现方法,从而在后期测试活动中更好的把握测试范围,制定适当的测试策略和方法。并为测试过程中测试人员和后期实施人员提供工作指导。 本文档预期的读者包括:项目经理、系统设计人员、开发人员和测试人员。 1.2项目背景 1.说明待开发的软件系统的名称 2.列出本项目的任务委托单位、开发单位、协作单位、用户单位 3.说明项目背景,叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。如果本次开发的软件系统是一个更大的系统的一个组成部分,则要说明该更大系统的组成和介绍本系统与其它相关系统的关系和接口部分 4.保密说明:本项为可选项,一般的软件公司都会要求对软件开发的概要设计文档进行保密,不允许被复制、使用和扩散到公司之外的范围,如果需要强调则允许做相关的保密说明 5.版权说明:本项为可选项,若有必要,才要作有关的描述。 1.3测试对象及范围 测试对象主要是针对XXX项目实施的设备,主要的测试设备清单如下:

1.4适用范围 提示:明确适用的项目单位 1.5参考资料 提示:列出所本文档所使用的参考资料,包括: 1 本软件开发所经核准的合同或标书或可行性报告等文档 2 软件开发计划书 3 需求分析报告 4 测试方案(若存在初稿的话) 5 与本项目有关的已发表的文件或资料 6 本文件中各处引用的文件、资料,所采用的软件开发标准和规范 注意:必须列出文件、资料的作者、标题、编号、发表日期和出版单位,以说明这些文件资料的来源。若某些文档有保密要求的,则要说明其保密级别。

收音机调试步骤及调试方法

收音机调试步骤及调试方法 一.AM、IF中频调试 1、仪器接线图 扫频仪频标点频率为:450KHZ、455KHZ 、460KHZ或460KHZ、465KHZ 、 470KHZ。 扫频仪 簑减器 1、检波输出 2、3正负电源4、RF信号输入5、检波输入(INPUT)6频标点信 号输入(PUISE INPUT)7、水平信号输入(HOR、INPUT) 2:测试点及信号的连接: A:正负电源测试点(如电路板中的CD4两端或AC输入端) 正负电源测试点从线路中的正负供电端的测试点输入。 B:RF射频信号输入(如CD2003的○4脚输入)。 RF射频信号由扫频仪输出后接到衰减器输入端,经衰减器衰减后输出端接到测试架上的RF输入端,在测试架上再串联一个10PF的瓷 片电容后,从电路中的变频输出端加入RF信号 将AM的振荡信号短路(即PVC的振荡联短路),或将AM天线RF输入端与高频地短路,(如CD2003○16与PVC地脚短路。) C:检波输出端(如CD2003○11脚为检波输出端) 从IC检波输出端串一个103或104的瓷片电容接到测试架上的OUT输出端。再连接到显示器前面的INPUT端口上以观察波形。

3.调试方法及调试标准 将收音机的电源开关打开并将波段开关切换到AM波段状态,调整中频中周磁帽使波形幅度达到最大(一般为原色或黄色的中周), 并且以水平线Y轴为基准点,看波形的左右两半边的弧度应基本对 称,以确保基增益达到最大、选择性达到最佳。如图 标准:波形左右两边的弧度基本等等幅相对称,455KHZ频率在波形顶端为最理想,偏差不超过±5KHZ。。如果中频无须调试的,则 经标准样机的波形幅度为参考,观察每台机的波形幅度不应小于标准 样机的幅度的3-5DB,一般在显示器上相差为一个方格。 二、FM IF中频调试 1、器接线图 ①扫频仪频率分别为,,至少三个频率点。 1、检波输出 2、3正负电源4、RF信号输入5、检波输入(INPUT)6频标点 信号输入(PUISE INPUT)7、水平信号输入(HOR、INPUT) ②测试点及信号连接;

i2c通讯协议及程序

I2C通信协议简介 (2013-01-17 10:48:03) 转载▼ 分类:通讯协议 标签: 杂谈 ACK是acknowledge的意思,确认. 摒弃复杂的情况,这里只对I2C做简单的介绍。 一、I2C 总线的一些特征: ? 只要求两条总线线路一条串行数据线SDA一条串行时钟线SCL ? 每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机从机关系软件设定地址主机可以作为主机发送器或主机接收器? 它是一个真正的多主机总线如果两个或更多主机同时初始化数据传输可以通过冲突检测和仲裁防止数据被破坏 ? 串行的8 位双向数据传输位速率在标准模式下可达100kbit/s 快速模式下可达400kbit/s 高速模式下可达3.4Mbit/s ? 片上的滤波器可以滤去总线数据线上的毛刺波保证数据完整 ? 连接到相同总线的IC 数量只受到总线的最大电容400pF 限制 二、I2C总线在传送数据过程中共有三种类型信号:开始信号、结束信号和应答信号。 开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。 结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。 应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据 起始和结束:

bool I2C_Start(void) { SDA_H; SCL_H; I2C_delay(); if(!SDA_read)return FALSE; // SDA线为低电平则总线忙,退出 SDA_L; // 拉低SDA线(当SCL为高电平时,SDA由高电平向低电平跳变表示开始信号) I2C_delay(); if(SDA_read) return FALSE; // SDA线为高电平则总线出错,退出 SDA_L; //数据为准备好时,拉低SCL线 I2C_delay(); return TRUE; } 发出开始信号之后,设备在数据未准备好时,拉低SCL线,这样主设备可知从设备未发送数据,从设备在数据准备好,可以发送的时候,停止拉低SCL线,这时候才开始真正的数据传输 void I2C_Stop(void) { SCL_L; I2C_delay(); SDA_L; I2C_delay(); SCL_H; // SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据 I2C_delay(); SDA_H; I2C_delay(); }

通用硬件产品测试报告(样本)

C××××测试报告(功能测试) 1.测试设备 2.测试目的 3.测试用品: 1.1仪器

1.2上微机软件 1.3线路板烧写文件 4.电源测试 4.1 测试方法: 1)将×××电源连接到××××××电源连接到×××,以上步骤简称‘上电’;

2)用×××器在各电源对应测试点上测量其×××。 4.2 测试条件: 1)常温; 2)芯片正常运行。 4.3 测试结果: 5.采样电路测试 4.1 测试方法: 1)×××板上电; 2)在板载接口对应位置接入信号源; 3)用×××器测量板上对应测试点×××; 4.2 测试结果:

6.×××上电自举 6.1 测试方法: 1)×××板上电; 2)在×××环境下,选择×××,出现下载界面;

3)选择×××打开×××,选择×××,烧写完成后,重新给×××板上电; 以上步骤×××为‘烧写××× 4)观察指示灯×××是否闪烁 6.2 测试结果: 7.×××测试 7.1 测试方法: 1)×××板上电; 2)在程序中设定×××为输入,输入波形作为×××输出,输入为×××方波,烧写×××; 3)用×××器测量板上对应测试点波形; 4)比较测试波形是否与设定一致; 7.2 测试结果:

8.双口×××测试 8.1 测试方法: 1)×××板上电; 2)在×××中设定×××读写时序,向双口×××全地址空间写入数据,写入完成后读取双口×××中的数据,判断是否与写入数据一致; 3)在×××中设定×××读写时序,向双口×××全地址空间写入数据,写入完成后读取双口×××M中的数据,判断是否与写入数据一致; 8.2 测试结果: 9.C6××× 9.1 测试方法: 1)×××板上电; 2)烧写×××; 3)将F28×××烧写到F×××中;

I2C总线协议程序

C程序代码]I2C总线协议程序 程序代码 2009-10-11 14:05 阅读48 评论0 /**************************************************************** I2C总线协议程序 ****************************************************************/ #define NOP {_nop_();_nop_();_nop_();_nop_();} sbit SDA=P1^2; /*模拟I2C数据传送位*/ sbit SCL=P1^3; /*模拟I2C时钟控制位*/ bit ack; /*应答标志位*/ void Start_I2c() { SDA=1; NOP; SCL=1; NOP; SDA=0; NOP; SCL=0; NOP; } void Stop_I2c() { SDA=0; NOP;

SCL=1; NOP; SDA=1; NOP; } void Senduchar(uchar c) { uchar i; for(i=0;i<8;i++) { c<<=1; SDA=CY; NOP; SCL=1; NOP; SCL=0; NOP; } SDA=1; NOP; SCL=1; NOP; if(SDA==1) ack=0; else ack=1; SCL=0; NOP; } uchar Rcvuchar() {

uchar i,x=0; SDA=1; for(i=0;i<8;i++) { SCL=0; NOP; SCL=1; NOP; x=x<<1; if(SDA) x=x+1; NOP; } SCL=0; NOP; return(x); } void Ack_I2c(bit a) { SDA=a; NOP; SCL=1; NOP; SCL=0; NOP; } bit ISendStr(uchar sla,uchar suba,uchar *s,uchar no) { uchar i;

相关文档
最新文档