电子工艺实习总结.docx

上传人:b****4 文档编号:11873183 上传时间:2023-04-08 格式:DOCX 页数:13 大小:87.10KB
下载 相关 举报
电子工艺实习总结.docx_第1页
第1页 / 共13页
电子工艺实习总结.docx_第2页
第2页 / 共13页
电子工艺实习总结.docx_第3页
第3页 / 共13页
电子工艺实习总结.docx_第4页
第4页 / 共13页
电子工艺实习总结.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

电子工艺实习总结.docx

《电子工艺实习总结.docx》由会员分享,可在线阅读,更多相关《电子工艺实习总结.docx(13页珍藏版)》请在冰豆网上搜索。

电子工艺实习总结.docx

电子工艺实习总结

电子工艺实习总结

自动化学院2010211401班10211708赵寅达

一、实习目的

电子工艺实习是机电与检测等相关专业重要的实践教学环节,以电子产品为工程背景,通过实习使学生通过理论联系实际,巩固和扩大已学过的电子技术的基础知识,获得电子产品生产工艺的基本知识和基本操作技能,了解电子产品制造过程,为专业基础课和专业课程的学习建立初步的感性认识,并提高工程实践能力。

二、实习任务

通过电子工艺实习学生应具备以下实践动手能力:

焊:

掌握电子元件的焊接、拆焊技术;

选:

能够熟练进行元器件识别、性能简易测试、筛选;

装:

具备电子电路和电子产品装配能力;

调:

具备电子电路与电子小产品调试能力;

测:

会正确使用电子仪器测量电参数;

读:

具备电子电路读图能力;

编:

会编写简单控制程序,驱动硬件完成预定功能;

写:

培养编写实习报告的能力;

校:

具备电子产品质量检验的能力;

触:

提前触及模电、数电及单片机三大技术,与数码产品接轨。

第一周:

学习单片机基本概念

61板硬件构成和开发环境

掌握焊接工艺,完成焊接练习(100点以上)

掌握常用电子元件、61板测试技术

完成61板焊接及测试。

第二周:

掌握61板硬件原理:

IO口,定时/计数器,语音程序的编写;

熟悉编译调试环境,学习单片机汇编语言编程和C语言编程;

编写程序:

1)十字路口交通信号灯控制,2)语音播放控制。

三、工艺基础知识

1.凌阳的16位单片机

CPU内核采用凌阳最新推出的μ’nSP™(MicrocontrollerandSignalProcessor)16位微处理器芯片(以下简称μ’nSP™)。

μ’nSP™内核是一个通用的核结构。

除此之外的其它功能模块均为可选结构,可形成各种不同系列派生产品,以适合不同的应用场合。

具有更强的功能和更低的成本。

2.μ’nSP™家族

围绕μ’nSP™所形成的16位μ’nSP™系列单片机。

采用的是模块式集成结构,它以μ’nSP™内核为中心集成不同规模的ROM、RAM和功能丰富的各种外设接口部件。

μ’nSP™家族有以下特点:

(1)体积小、集成度高、可靠性好且易于扩展

(2)具有较强的中断处理能力

(3)高性能价格比

(4)功能强、效率高的指令系统

(5)低功耗、低电压

3.SPCE061A简介

(1)总述:

SPCE061A是μ’nSP™系列产品中的一款16位结构的微控制器。

SPCE061A里只内嵌32K字的闪存(FLASH)。

较高的处理速度使μ’nSP™能够非常容易地、快速地处理复杂的数字信号。

以μ’nSP™为核心的SPCE061A微控制器是适用于数字语音识别应用领域产品的一种最经济的选择。

(2)性能:

16位μ’nSP™微处理器;工作电压(CPU)VDD为2.4~3.6V(I/O)VDDH为2.4~5.5VCPU时钟:

0.32MHz~49.152MHz;内置2K字SRAM;内置32KFLASH;可编程音频处理;晶体振荡器;系统处于备用状态下(时钟处于停止状态),耗电仅为2μA/3.6V;

2个16位可编程定时器/计数器(可自动预置初始计数值);2个10位DAC(数-模转换)输出通道;32位通用可编程输入/输出端口;14个中断源可来自定时器A/B,时基,2个外部时钟源输入,键唤醒;具备触键唤醒的功能;使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据;锁相环PLL振荡器提供系统时钟信号;32768Hz实时时钟;7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器;声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;具备串行设备接口;具有低电压复位(LVR)功能和低电压监测(LVD)功能;内置在线仿真电路ICE(In-CircuitEmulator)接口;具有保密能力;具有WatchDog功能。

(3)芯片的引脚排列和说明

SPCE061A有两种封装片

一种为84个引脚,PLCC84封装形式;它的排列如图1.3所示;在PLCC84封装中,有15个空余脚,用户使用时这15个空余脚悬浮。

另一种为80个引脚,LQFP80封装。

在LQFP80封装中有9个空余脚,用户使用时这9个空余脚接地。

(4)SPCE061A最小系统

在OSCO、OSCI端接上晶振及谐振电容,在锁相环压控振荡器的阻容输入VCP和VSSP端接上相应的电阻电容后即可工作。

其它不用的电源端和地端接上0.1μF的去耦电容提高抗干扰能力。

(5)SPCE061A开发方法

A.SPCE061A的开发是通过在线调试器PROBE实现的。

它既是一个编程器(即程序烧写器),又是一个实时在线调试器。

用它可以替代在单片机应用项目的开发过程中常用的软件工具——硬件在线实时仿真器和程序烧写器。

它利用了SPCE061A片内置的在线仿真电路ICE(In-CircuitEmulator)接口和凌阳公司的在线串行编程技术。

B.PROBE

工作于凌阳IDE集成开发环境软件包下,其5芯的仿真头直接连接到目标电路板上SPCE061A相应管脚,直接在目标电路板上的CPU---SPCE061A调试、运行用户编制的程序。

另一头是标准25针打印机接口,直接连接到计算机打印口与上位机通讯,在计算机IDE集成开发环境软件包下,完成在线调试功能。

C.集成开发环境IDE182使用

仿真结束,确认功能完全实现,则可以拔下下载线5针头,SPCE061A的内部代码就可以脱机运行。

(6)应用领域

家用电器控制器:

冰箱、空调、洗衣机等白色家电仪器仪表:

数字仪表(有语音提示功能)电表、水表、煤气表、暖气表工业控制智能家居控制器通讯产品:

多功能录音电话、自动总机、语音信箱、数字录音系统产品医疗设备、保健器械(电子血压计、红外体温监测仪等)体育健身产品(跑步机等)电子书籍(儿童电子故事书类)、电教设备等语音识别类产品(语音识别遥控器、智能语音交互式玩具等)

四、61板硬件原理

1.μ’nSP™的内核组成:

总线、算术逻辑运算单元、寄存器组、中断系统、堆栈

2.算术逻辑运算单元ALU

16位基本的算术逻辑运算带移位操作的16位算术逻辑运算16位×16位的乘法运算Mul,12个时钟周期内积运算Muls,10n+6个时钟周期(n为乘积求和的项数)

3.寄存器组

8个16位寄存器通用型寄存器:

R1~R4专用型寄存器:

堆栈指针寄存器SP、基址指针寄存器BP:

[BP+IM6]、段寄存器SR、

程序计数器PC

段寄存器SR:

代码段选择字段CS:

SR中B5~B0数据段选择字段DS:

SR中BIT15~BIT10标志位NZSC:

SR中BIT6~

进位标志C、零标志Z、负标志N、符号标志S

4.SPCE061A输入/输出接口

SPCE061A有两个16位通用的并行I/O口:

A口和B口

每一位都可通过编程单独定义成输入或输出口

A口的IOA0~IOA7用作输入口时具有唤醒功能

5.时钟电路

μ’nSP™时钟电路采用晶体振荡器电路。

外接晶振采用32768Hz。

推荐使用外接32768Hz晶振,因阻容振荡的电路时钟不如外接晶振准确。

32768Hz实时时钟通常用于钟表、实时时钟延时以及其它与时间相关类产品。

SPCE061A通过对32768Hz实时时钟源分频而提供了多种实时时钟中断源。

例如,用作唤醒源的中断源IRQ5_2Hz,表示系统每隔0.5秒被唤醒一次,由此可作为精确的计时基准。

除此之外,SPCE061A还支持RTC振荡器强振模式/自动模式的转换(参考系统时钟部分)。

6.锁相环PLL(PhaseLockLoop)振荡器

PLL电路的作用是将系统提供的实时时钟的基频(32768Hz)进行倍频,调整至49.152MHz、40.96MHz、32.768MHz、24.576MHz或20.480MHz。

系统默认的PLL自激振荡频率为24.576MHz。

7.系统时钟

32768HzRTC振荡器有两种工作方式:

(1)强振模式RT振荡器始终运行在高耗能的状态下。

(2)自动弱振模式系统在上电复位后的前7.5s内处于强振模式,然后自动切换到弱振模式

以降低功耗。

CPU被唤醒后默认的时钟频率为Fosc/8,用户可以根据需要调整该值。

CPU被唤醒后经过32个时钟周期的缓冲时间后再进行其它的操作,这样可以避免在系统被唤醒后造成ROM读取错误。

8.定时器/计数器

(1)SPCE061A提供了两个16位的定时/计数器:

TimerA和TimerB。

(2)定时器/计数器用途

它会作为定时器中断信号传输给CPU中断系统;它又会作为4位计数器计数的时钟源信号,输出一个具有4位可调的脉宽调制占空比输出信号APWMO或BPWMO(分别从IOB8和IOB9输出),可用来控制马达或其它一些设备的速度。

定时器溢出信号还可以用于触发ADC输入的自动转换过程和DAC输出的数据锁存。

定时器发生溢出后会产生一个溢出信号(TAOUT/TBOUT)。

(3)定时器/计数器B

P_TimerB_Data(读/写)(700CH)P_TimerB_Ctrl(写)(700DH)用户可以通过设置该单元的第0~2位来选择TimerB的时钟源。

设置第6~9位,TimerB将输出不同频率的脉宽调制信号,即对脉宽占空比输出BPWMO进行控制。

9.睡眠与唤醒

睡眠

IC在上电复位开始工作,直到接收到睡眠信号后,才关闭系统时钟(PLL振荡器),

进入睡眠状态。

用户可以通过对P_SystemClock(读)(7013H)单元写入CPUCLKSTOP控制字(CPU

睡眠信号)使系统从运行状态转入备用状态。

系统进入睡眠状态后,程序计数器(PC)会停在程序的下一条指令计数上,当有任

一唤醒事件发生后开始由此继续执行程序。

唤醒

系统接收到唤醒信号后接通PLL振荡器,同时CPU会响应唤醒事件的处理并进行

初始化。

IRQ3_KEY为触键唤醒源(IOA7~IOA0),其它中断信号(FIQ、IRQ1~IRQ6及UART

IRQ)都可以作为唤醒源。

唤醒操作完成后,程序将会从进入睡眠后指令计数的断点处开始被继续执行。

关于触键唤醒源,请参考I/O端口结构。

10.模-数转换器ADC

8路可复用10位ADC通道7路通道(Line_In)和IOA[0~6]管脚复用一路通道(MIC_In)用于语音输入,模拟信号经过自动增益控制器和放大器放大后进行A/D转换。

最大的模拟信号输入电压范围:

0V~AVdd。

11.DAC方式音频输出

SPCE061A为音频输出提供两个DAC通道,

DAC1和DAC2输出的模拟电流信号通过DAC1和DAC2管脚输出。

和DAC2的输出数据应写入P_DAC1(写)(7017)和P_DAC2(写)(7016)单元。

12.低电压监测/低电压复位(LVD/LVR)

SPCE061A可通过编程设置低电压监测和低电压复位功能,目的是为了通过对系统的电源电压进行监控,而使系统运行在一个正常、可靠的工作环境,并在一旦出现电源异常的情况下能立即采取相应的措施,使系统及时恢复正常。

13.串行设备输入输出端口(SIO)

串行输入输出端口SIO提供了一个1位的串行接口,用于与其它设备进行数据通讯。

在SPCE061A内通过IOB0和IOB1这2个端口实现与设备进行串行数据交换功能。

IOB0用来作为时钟端口(SCK),IOB1则用来作为数据端口(SDA),用于串行数据的接收或发送。

参见IOB口的特殊功能。

14.保密设定

如果希望将内部的闪存进行保密设定,可将PFUSE接5V,PVIN接GND并维持2s以上即可将内部保险丝熔化,此后就无法再完成read,download和debug等功能。

因此用户使用过程中一定要慎重。

15.看门狗计数器(WatchDog)

SPCE061A的WatchDog的清除时间周期为0.75s。

因为WatchDog的溢出复位信号WatchDog_Reset是由4Hz时基信号经4分频之后产生的,即每4个4Hz时基信号(1s)将会产生一个WatchDog_Reset信号。

而清除WatchDog的WatchDog_Clear信号却可以发生在4Hz信号(0.25s)之间的任意一个时刻点上。

假如WatchDog_Clear信号发生在4Hz信号尾端的0.01s即第0.25s时刻,此时虽然WatchDog被清掉,但由于它发生在4Hz信号之后,再经3个4Hz信号即0.75s,如果一直没有WatchDog_Clear信号,便会产生出一个WatchDog_Reset信号。

五、焊接步骤

1.焊接SPY0029A。

2.焊接电阻(18个)。

3.焊接二极管(3个)。

4.焊接晶振。

5.焊接独石电容(19个)。

6.焊接瓷片电容(5个)。

7.焊接电解电容(C33,C35)。

8.电源整体初测。

9.点元器件初测。

10.完成所有电解电容的焊接(12个)。

11.焊接按键及电位器。

12.焊接发光二极管。

13.焊接电源座。

14.第二次电源测试。

15.焊接单排插针。

16.焊接五针座。

17.焊接麦克风。

18.芯片座焊接。

19.管脚整修

六、焊接问题分析、测试结果分析

焊接问题分析

1.若短路,用万用表查PCB板上J10两管脚,查清楚短路的原因,可能是因为二极管坏掉或者电源部分电容有问题,请排除错误再往下执行。

用万用表查SPY0029A的三个管脚之间是否短路,若短路,可能是因为第二个二极管坏掉或者SPY0029A没有焊接好,请排除错误再往下执行。

2.焊接完电源座,电源部分已全部焊接完,这时可以上电,会看到电源指示灯点亮,如没亮请立刻断电并查清原因。

3.焊接麦克风。

测试结果分析

1.测试61板电源和地是否有短路

现象:

电阻大于320欧

结论:

正常

2.测试61板电源部分器件是否工作正常

现象:

发光二极管D1点亮

结论:

正常

3.测试61板上各器件电源供电是否正常

现象:

U1第7脚电压3.33v

U4第20脚电压3.31v

J4第1脚电压3.17v

U2第7,8脚电压4.41v

J6,J7,J8,J9“+”端电压4.4v

结论:

正常

4.测试按键

现象:

电压为高电平

结论:

正常

5.测试晶振工作是否正常

现象:

有正弦波

结论:

正常

七、流程图

八、源程序及注释

实验一:

十字路口交通信号灯控制实验

#defineP_IOA_Data(volatileunsignedint*)0x7000//声明地址

#defineP_IOA_Buffer(volatileunsignedint*)0x7001

#defineP_IOA_Dir(volatileunsignedint*)0x7002

#defineP_IOA_Attrib(volatileunsignedint*)0x7003

#defineP_IOB_Data(volatileunsignedint*)0x7005

#defineP_IOB_Dir(volatileunsignedint*)0x7007

#defineP_IOB_Attrib(volatileunsignedint*)0x7008

#defineP_Watchdog_Clear(volatileunsignedint*)0x7012

unsignedintKeyScan(void);//扫描是否按下起始键

unsignedintKeyScan1(void);//扫描是否按下终止键

voidDelay(unsignedlongx);//延迟灯的状态

voidbegin();

unsignedinti;

unsignedintuiKey;//储存起始键键值

unsignedintikey;//储存终止键键值

intmain(void)

{

*P_IOA_Dir=0xfff7;//定义管脚属性

*P_IOA_Attrib=0xfff7;

*P_IOA_Data=0x0000;

*P_IOB_Dir=0xff7f;

*P_IOB_Attrib=0xff7f;

*P_IOB_Data=0x0000;

while

(1)

{

begin();

}

}

 

voidbegin()//控制亮灯主程序

{

uiKey=KeyScan();//扫描是否按下起始键

if(uiKey!

=0)

{

while

(1)//若按下起始键,进入亮灯循环状态

{

*P_IOA_Data=0x2000;

*P_IOB_Data=0x0002;

Delay(500000);

*P_Watchdog_Clear=0x0001;

i=0;

while(i<3)

{

*P_IOA_Data=0x4000;*P_IOB_Data=0x0001;Delay(20000);*P_Watchdog_Clear=0x0001;

*P_IOA_Data=0x0000;*P_IOB_Data=0x0000;Delay(20000);*P_Watchdog_Clear=0x0001;

i++;

}

*P_IOA_Data=0x1000;

*P_IOB_Data=0x0001;

Delay(500000);

*P_Watchdog_Clear=0x0001;

i=0;

while(i<3)

{

*P_IOA_Data=0x1000;*P_IOB_Data=0x0001;Delay(20000);*P_Watchdog_Clear=0x0001;

*P_IOA_Data=0x0000;*P_IOB_Data=0x0000;Delay(20000);*P_Watchdog_Clear=0x0001;

i++;

}

*P_Watchdog_Clear=0x0001;

}

}

*P_Watchdog_Clear=0x0001;

}

 

unsignedintKeyScan(void)//按下起始键则返回1

{

unsignedintuiData;

unsignedintuiTemp;

uiData=*P_IOA_Data;

uiData=uiData&0x0008;

*P_Watchdog_Clear=0x0001;

returnuiData;

}

 

unsignedintKeyScan1(void)//按下终止键则返回1

{

unsignedintiData;

unsignedintiTemp;

iData=*P_IOB_Data;

iData=iData&0x0080;

*P_Watchdog_Clear

=0x0001;

returniData;

}

 

voidDelay(unsignedlongx)//延迟程序

{

unsignedlongk;

unsignedlonguiCount;

for(uiCount=0;k!

=1,uiCount<=x;uiCount++)

{

if(KeyScan1()!

=0)

for(;KeyScan()==0;*P_IOA_Data=0x0000,*P_IOB_Data=0x0000,begin());

*P_Watchdog_Clear=0x0001;

}

}

 

实验二:

语音播放

#include"s480.h"#defineP_Watchdog_Clear(volatileunsignedint*)0x7012voidPlaySnd_Auto(unsignedintuiSndIndex,unsignedintuiDAC_Channel);unsignedintKey;voidcheck(){Key=SP_GetCh();//获取键值switch(Key){case0x0001:

//1号键PlaySnd_Auto(0,3);break;case0x0002:

//2号键PlaySnd_Auto(1,3);break;case0x0004:

//3号键PlaySnd_Auto(2,3);break;default:

break;}System_ServiceLoop();//按键扫描}intmain(void){System_Initial();//系统初始化while

(1){check();*P_Watchdog_Clear=0x0001;}}//uiSndIndex:

语音资源序号//uiDAC_Channel:

语音播放通道voidPlaySnd_Auto(unsignedintuiSndIndex,unsignedintuiDAC_Channel){SACM_S480_Initial

(1);//初始化为自动播放方式SACM_S480_Play(uiSndIndex,uiDAC_Channel,3);//播放while((SACM_S480_Status()&0x0001)!

=0){//判断播放状态,如还在播放则继续循环check();SACM_S480_ServiceLoop();//播放系统服务程序*P_Watchdog_Clear=0x0001;}SACM_S480_Stop();//停止播放}

九、总结

在两星期的电子工艺实习中,我学到了61板单片机的原理、硬件结果及相应的编程运用知识,同时锻炼了动手操作能力。

第一周,我们学习了单片机的原理和焊接61板的实际操作。

由于基础知识掌握不充分,我在初始学习时遇到了很大困难,后来通过反复阅读课件,查找相关知识而有所缓解。

焊接61板也遇到了麻烦,由于调试不当,我的61板出现短路,险些烧坏。

幸好有老师的指导,经过部分元件的重新焊接,61板的调试和验收得以完成。

第二周我们主要学习了单片机汇编语言编程和C语言编程。

在周一到周五这几天里,我一度一筹莫展,周三时勉强完成雏形,但仍然漏洞百出。

经过交流才发现,大家都有这样那样的问题。

我们充分发挥团队作用,相互校对,到周四晚纷纷完工。

在我编程的过程中,一位同学教给我的键位扫描程序起到了决定性的作用。

这次实习使我发现,我的知识储备量远远不够,动手能力也不够理想。

虽然两周的学习对我的知识水平和操作能力起到了提高的作用,但相对一个合格北邮人的标准,仍然差距甚远。

这也是我今后学习的一大动力。

路漫漫其修远兮!

 

 

 

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 金融投资

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1