MSP430学习笔记加密熔丝烧断器的制作

合集下载

ez430rf2500适合初学者参考的笔记

ez430rf2500适合初学者参考的笔记

梦之旅同学EZ430系列学习笔记和智能家居系统项目之内部温度采集和串口显示收到板子有几天了,一直没时间弄,昨天弄了一下,就有以下方面的结果,以前没有接触过msp430,呵呵,本来说是昨天出测评的,但因为有其他事情,只好今天早上一大早跑过来写测评,上午都有课,希望中午回来时候能够看到惊喜。

首先,来个项目介绍:项目:智能家居系统无线温湿度传感器DHT11传感节点介绍:利用本EZ430系统完成一个温湿度传感节点功能,在从节点采集DHT11的数据,通过无线把他发到AP节点,然后通过上位机在电脑上面显示。

上位机界面:准备在FXW451的燃气系统的上位机上面进行修改,把从节点采集到的温度,湿度显示在上位机端。

时间安排:尽量在本星期内完成所有的工作和日记的更新,希望各位帮顶。

下面接着来下msp430的简介MSP430可以说是系出名门~~~是TI的拳头产品。

TI很多在中国举办的电子设计之类的比赛都指定只能用430单片机,半导体芯片制造行业~~~TI应该算是大名鼎鼎了~~~~~他的DSP也是很牛的。

选用大公司的东西最好的好处就是有强大的技术支持(当然,这可能更要建立在你E文不错的基础上~~)在TI的网站上其实已经有不少模块化的代码参考了,作为TI努力推销的产品,TI对他的支持肯定是少不了的MSP430的开发环境还是有挺多的,不过用的最多的应该是IAR嵌入式工作室平台了,简称IAR EW。

他对430的版本最新为IAR EW FOR MSP430 V5.2。

IAR的开发平台还是很人性化的。

国外曾经做过调查,关于工程师做项目,选用芯片,除了价格,功能是否强大等以外,开发环境的功能和易用性也是首当其冲的原因,这也就解释了keil为何能风靡全球~~~IAR的开发环境对比keil可以说是不相上下~~不过可能就是要花一点时间去熟悉一下~~相信你也会爱上IAR EW一下是摘自网上一些对430的简介~~~其实都差不多~~每一本430的书基本上开头的是这些,大概了解一下就可以了~:1、MSP430 单片机的发展MSP430 系列是一个 16 位的、具有精简指令集的、超低功耗的混合型单片机,在 1996 年问世,由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为众多单片机系列中一颗耀眼的新星。

Msp430学习笔记

Msp430学习笔记

Msp430学习笔记一、简介图1 基本结构图2 pin designation结论:1.基本每个管脚都可以复用2.外围功能模块丰富端口介绍(32 I/O pins)1.端口P1和P2具有输入、输出、中断和外部模块功能。

这些功能可以通过各自的7个控制寄存器的设置来实现。

(1)PxDIR 输入输出方向寄存器rw(2)PxIN 输入寄存器r(3)PxOUT 输出寄存器r(4)PxIFG 中断标志寄存器r(5)PxIES 中断触发沿选择寄存器rw(6)PxIE 中断使能寄存器rw(7)PxSEL 功能选择寄存器rw2.其他端口:四个控制寄存器(除去中断相关)看看例程二、时钟部分1.时钟寄存器设置SCFQCTL 系统时钟控制寄存器(倍频,反馈后默认是31,31+1=32)SCFI0 系统时钟频率调整器0(锁频环反馈中的分频(实质最终是倍频))SCFI1 系统时钟频率调整器1(自动控制调整,无需软件设置)FLL_CTL0 FLL+控制器0 (反馈中是否分频、选择LFXT1晶振的有效电容)FLL_CTL1 FLL+控制器1 (振荡器控制、时钟源对应的振荡器的选择,默认情况下:振荡器打开,MCLK选择DCOCLK,SMCLK选择DCOCLK)图时钟模块2.工作模式:One Active Mode、Five Power Saving ModesMSP430是一个特别强调低功耗的单片机系列,尤其适用于采用电池供电的长时间工作场合。

系统根据应用和节能使用不同的时钟信号,这样可以合理利用系统的电源,实现整个系统的超低功耗。

中断是MSP430微处理器的一大特色。

有效地利用中断可以简化程序,并且提高执行效率和系统稳定性。

几乎所有的msp430系统单片机的每个外围模块都能产生中断,为MSP430针对事件(外围模块产生的中断)进行的编程打下基础。

MSP430在没有事件发生时处于低功耗模式,事件发生时通过中断唤醒CPU,时间处理完毕后CPU再次进入低功耗模式,由于CPU运算速度和推出低功耗的速度很快,所以在应用中,CPU大部分时间都处于低功耗状态,使得系统的整体功耗极大地降低。

2016新编MSP-FET430UIF仿真器使用说明

2016新编MSP-FET430UIF仿真器使用说明

2016新编MSP-FET430UIF仿真器使用说明MSP-FET430UIF仿真器使用说明1目录 1. 功能描述2. JTAG连接关系3. IAR开发环境的安装4. 仿真器驱动的安装5. 配置仿真器及仿真方法5.1 编译程序5.2 正确设置仿真器的参数5.3 如何用msp430仿真器调试程序5.4 第三方软件下载程序6. 注意事项7. 常见问题答解21. 功能描述a. 本仿真器为USB接口的JTAG仿真器。

USB口从计算机取电,不需要外接源,并能针对不同需求给目标板或用户板提供1.8V,3.6V(300mA)电源。

b. 对MSP430低功耗flash全系列单片机进行编程和在线仿真.c. 完全兼容TI德州仪器原厂MSP-FET430UIF开发工具。

d. 支持在线升级,烧熔丝加密。

e. 采用TI德州仪器标准的2×7 PIN(IDC-14)标准连接器。

f. 支持IAR430、 AQ430、 HI-TECH、 GCC 以及TI等一些第三方编译器集成开发环境下的实时仿真、调试、单步执行、断点设置、存储器内容查看修改等。

g. 支持程序烧写读取和熔丝烧断功能。

h. 支持JTAG、SBW(2 Wire JTAG)接口。

i. 支持固件升级功能。

2. JTAG连接关系仿真器与目标板上MSP430系列MCU的连接关系分为2线连接和4线连接,如下两图所示:(注意:JTAG 接口的定义描述也可以由下图得到)4 线连接关系示意图32 线连接关系示意图3. IAR开发环境的安装我以iar for msp430 5.5.为例,但是建议安装我们提供的iar for msp430 5.2;首先,运行“配套光盘:\ msp430软件\IAR安装软件及注册机iar for msp430 5.5.rar”解压并进行安装。

安装步骤如下图所示等待,直至出现如下图4点击“next”直至如下图点击“next”直至如下图运行“配套光盘:\IAR安装软件及注册机for msp430 5.5文件夹中的 IAR kegen PartA.exe 文5件来获取上图的 License#,如下图所示:将license number中的内容复制到License#中,点击next,获得如下图将注册机license key的内容复制到安装软件的license key中,安装目录默认。

MSP430初学者教程(最详细)

MSP430初学者教程(最详细)

如何学习MSP430单片机学习就是迎接挑战、解决困难的过程,没有挑战,就没有人生的乐趣。

下面以MSP430系列单片机为例,解释一下学习单片机的过程。

(1)获取资料购买有关书籍,并到杭州利尔达公司网站和TI网站获取资料,例如,在网上可以找到FET 使用指导、MSP430 F1xx系列、F4xx系列的使用说明和具体单片机芯片的数据说明,可以找到仿真器FET的电路图、实验板电路图、芯片封装知识等大量的实际应用参考电路,当然有些资料是英文的,看懂英文资料是个挑战,学会4、6级英语就是为看资料的。

英语难学,但是看资料容易,只要下决心,看完一本资料,就可以看懂所有的相关资料。

(2)购买仿真器FET和实验电路板如果经济条件不错,可以直接购买。

(3)自制仿真器FET和实验电路板自制仿真器FET,首先要到网上找到FET电路图,然后就可以使用画电路板软件画电路图和电路板图,这又是个挑战。

FET电路非常简单,但要把它制作出来还是需要下一番工夫的,找一本有关书,然后练习画原理图,画完原理图后,就学习认识元件封装,再购买元件,这时就可以画电路板图了,一旦画好,将形成的PCB文件交给电路板制作公司,10天后,就可以得到电路板,焊上元件和电缆,等实验电路板做好后,就可以与实验电路板一起调试了。

自制实验电路板,需要单片机芯片内部工作原理的知识、封装知识,清楚的知道每一个引脚的功能,还需要数码管、按钮、排电阻、三端稳压器、二极管、散热器、电解电容、普通电容、电阻、钮子开关等元件的知识,对于初学者,可以做一个只有3个数码管、8个按钮、8个发光二极管的简单实验板,这样的实验板,虽然简单,但足可以帮助初学者入门单片机。

自制实验电路板与自制FET一样,首先画电路图,然后买元件,再画电路板。

由于MSP430系列芯片是扁平封装,焊接起来有一定难度,这好象是个挑战,但实际上很简单,方法如下:首先在焊盘上涂上松香水,在松香水未干的情况下,将芯片放在焊盘上,注意芯片第一引脚的位置,并使引脚与焊盘对齐,将擦干净的电烙铁(不能有任何焊锡)接触引脚,引脚只要一热,焊盘上的焊锡就自动将引脚焊住了,千万注意电烙铁上不能有焊锡,焊接时最好配备一个放大镜。

[MSP430学习笔记] 430加密总结

[MSP430学习笔记] 430加密总结

MSP430单片机常见加密总结1、为什么要加密,如何加密?当您的产品推向市场的时候,您的竞争对手就开始盯上它了,如果您的产品硬件很容易被模仿,而且您使用的MSP430单片机没有被加密的话,那么您辛辛苦苦的劳动成功就很容易成为您竞争对手的产品了,使用JTAG调试工具FET虽然可以将程序下载到芯片内部,但只有使用专业编程器能够防止程序被窃取。

2、JT AG、BSL、BOOTLOADER、熔丝的区别和关系是什么?JTAG接口能够访问MSP430单片机内部所有资源,通过JTAG可以对芯片进行程序下载、代码调试、内存修改等等,通过JTAG还能烧断加密熔丝,熔丝一旦被烧断,JTAG接口绝大部分功能失效,就再也不能通过它进行编程了。

BSL接口是利用芯片内部驻留的bootloader程序实现的自编程,通过特定的时序使得CPU进入bootloader代码断,然后利用每个MSP430芯片内部都有的Timer A构成一个软件串口来与上位机通讯,这样可以将代码下载到芯片内部。

实现BSL除了JTAG接口的一些引脚外,还需要用到两个TA0功能引脚,因此在设计产品时如果需要加密,则应该考虑将这两个引脚也连出来。

注意:A、要烧断熔丝(加密)必须使用JTAG接口;B、烧断熔丝后只能通过BSL 或者用户代码来实现编程更新。

3、BSL的验证密码是怎么回事?BSL也能读出芯片内部的代码,这样可以实现编程后的校验等功能。

通过BSL擦除所有Flash信息时不需要验证密码,但是要进一步操作,就得输入32字节密码进行验证。

BSL 的协议规定这32字节密码为芯片FLASH区域的最高32字节,也就是程序的16个中断向量,如果您拥有这段程序的最后32字节,就能通过BSL将芯片内部所有代码读取出来。

4、为什么要使用高级加密?32字节的密码看似几乎完全没可能使用穷举法来实现破解,但是各位别忘了,msp430的16个中断向量未必每一个都用到了,没用到的中断向量为0xffff,如果您的程序只用到了复位向量,那么破解者只需尝试最多32768次(中断向量为偶数,所以除以2)就能将其破解,另外,如果芯片本身Flash容量较小,比如4K字节,那么破解者只需尝试最多2K次就能将其破解。

利尔达 430 多功能编程器 用户说明书

利尔达 430 多功能编程器 用户说明书

项目名称430多功能编程器编制人吴邦米修改人郝强第一部分:概述LSD-PRGS430-IIIA以完成对MSP430FLASH*该脚与BSL 接口引脚兼容。

(四)(四)BSLBSL 目标板接口LSD-PRGS430-IIIA 多功能离线编程器通过BSL 接口,方便将程序写入,也可以将已烧断熔丝的MSP430系列单片机进行重新写入程序。

BSL 接口定义如下:(五)SBW 目标板接口SBW 接口定义如下:对于不同的型号芯片,对于不同的型号芯片,BSLBSL 发送和接收引脚不同,请看相关器件数据手册BSL 部分的说明。

如:F41X 系列P1.0接BTXD,P1.1接BRXD;而F15X,F16X 系列P1.1接BTXD,P2.2接BRXD。

对于未使用的JTAG JTAG,,BSL 引脚引脚,,应为悬空处理,外部不得接入电源应为悬空处理,外部不得接入电源,,避免损坏编程器。

对于RST 复位引脚,应确保在目标板上没有看门狗等复位芯片,否则将造成芯片复位的不正常,引起复位引脚,应确保在目标板上没有看门狗等复位芯片,否则将造成芯片复位的不正常,引起烧烧写失败。

特别注意:LSD-PRGS430-IIIA 多功能离线编程器JTAG 口的2脚,输出的电压为一可调电压DC(1.8V-3.6V),用户的目标板或适配器一般推荐不外加电源,以免损坏编程器。

若使用外加电源,则需要将编程器的VCC 输出关闭。

具体设置可参考第三部分。

引脚1234567891011121314定义TDO VCC TDI VCC_IN TMS NC TCK TST GND NC RST NC TXD*RX D*引脚12345678910定义TXD TCKRXD RST GND VCC TEST VCC_IN NC NC 引脚1234567891011121314定义SBWTDI0VCC NC NC NC NC NC SBWTCK GND NC NC NC NCNC 第三部分:第三部分:指示灯与按键说明指示灯与按键说明指示灯与按键说明::LSD-PRGS430-IIIA 多功能离线编程器有3个指示灯和一个按键:分别为电源指示灯、功能指示灯、状态指示灯与开始按键。

MSP430常见问题汇总(利尔达)

MSP430常见问题汇总(利尔达)

Q11:USB 仿真器下载汇编程序时没有问题,但是下载 C 语言程序时,出报警信息 如下:
The stack plug-in failed to set a breakpoint on "main".The stack window will not be able to display stack contents. (You can change this setting in the Tools>Options dialog box. 在调试信息窗口出现 operation error. A11:调试 c 程序时 在 Tools>Options dialog box 中 stack 要选中指向 main 函数处。 汇编和 c 要建不同的工程下调试。
公司地址:杭州市登云路 425 号杭州利尔达科技大厦 Tel:0571-88800000 Fax:0571-89908519
第3页 共68页
LSD MCU TECHNOLOGY CO., LTD .
利尔达单片机技术有限公司
Q7: 请问 AR 编译器的 s43 文件用什么编辑器打开? A7:打开 IAR 编译器后就可以直接打开了;另外,记事本也可以打开
Q2:我用的 430f22x 学习套件,请问在 IAR Embedded Workbench 中仿真时如何看程序运行时间. A2:只有软件模拟下可以看, VIEW-REGISTER-CYCLECOUNT
Q3:请问各位 msp430 仿真器和编程器有什么区别啊?是不是我开发的时候这两个东西都得有?我目前用的是 msp430cg461x 系列或 msp430fg461x 系列,是不是很多仿真器和编程器都不支持? A3:一般来讲,仿真器是在先期调试程序时使用的,他不会烧断单片机熔丝,能把程序下载到单片机中,能 够单步,跟踪,快速调试。编程器就没有这些调试功能,就是单纯把你做好的程序的编译后文件写到单片机 中去,就和 51 的编程器一样,有加密熔丝烧断等功能,是在你产品成型后,生产时使用的

自制MSP430的BSL

自制MSP430的BSL

自制BSL编程MSP430单片机
MSP430单片机闪存编程的方法有三种: JATG端口、BSL或用户开发程序。

通过电脑的并行端口自制下载线连接MSP430单片机的JATG端口编程,这种方法大家已经比较熟悉了,有很多介绍自制并口下载线的资料介绍。

前年曾有一位西安的网友转让给了一块他自制的下载线给我,很好用。

但是在用JATG烧断保密熔丝后,要再想修改闪存程序,就只能用BSL 方法了。

BSL是启动加载程序(Bootstrap Loader)的简称。

该方法允许用户通过标准的RS-232串口访问MSP430单片机的Flash和Ram。

在单片机的地址为 (0C00H-1000H)的ROM区内存放了一段引导程序,给单片机的特定引脚加上一段特定的时序脉冲,就可以进入这段程序,让用户读写擦闪存程序。

通过BSL无条件擦除单片机闪存,重新下载程序,还可以通过密码读出程序(密码即用户程序0FFE0H-0FFFFH 共256BIT的内容)。

我根据TI公司网站公布的资料自制了一个BSL编程器,电路如下图:
图中的运放正负电源由串口寄生取电,施密特反相器74HC14和用户目标板一起另外用3.6V 电池供电。

由PC机通过串口控制, BSL的十芯接头与用户目标板接口相连。

上位机软件使用mspfet。

在IAR软件中调试好程序后,要编译生成供下载用的.txt文
件,在mspfet中打开该文件,复位接口然后按AUTO按钮即可完成程序下载。

msp430可通过哪些接口进行烧写程序

msp430可通过哪些接口进行烧写程序

MSP430可通过哪些接口进行烧写程序?MSP430无论是仿真还是烧写程序,一般可以通过:JTAG、SBW、BSL接口进行。

1、JTAG是利用边界扫描技术,在430内部有逻辑接口给JTAG使用,内部有若干个寄存器连接到了430内部数据地址总线上,所以可以访问到430的所有资源,包括全地址FLASH、RAM及各种寄存器。

可以用于对430的仿真和编程,主要连接线有TMS、TCK、TDI、TDO,430还需要另两条线路RST、TEST来启动JTAG 命令序列。

2、SBW是SPY-BI-WIRE,可以简称为两线制JTAG,主要有SBWTCK(连接到JTAG接口的7脚TCK)与SBWTDIO(连接到JTAG接口的1脚TDO/TDI),该接口主要用于小于28脚的2系列单片机,因为28脚以内单片机的JTAG一般与IO口复用,为了给用于留有更多的IO资源,才推出SBW接口。

SBW同JTAG一样可以访问到430内部的所有资源。

注:目前MSP430F5XX系列中也有SBW 接口,原理同2系列的SBW。

3、BSL是TI在430出厂时预先固化到MCU内部的一段代码,该代码用户不可读写,这有点类似与DSP的bootloader,但又与bootloader有明显的区别,BSL只能用于对MCU内部的FLASH访问,不能对其他的资源访问,所以只能用作编程器接口。

BSL通过UART协议与编程器连接通信。

编程器可以发送不同的通信命令来对MCU的存储器做不同的操作,可以把这种方式称为BSL接口。

BSL代码的启动有些特殊,一般430复位启动时PC指针指向FFFE复位向量,但可以通过特殊的启动方式可以使MCU在启动时让PC指向BSL内部固化的程序。

这种特殊的启动方式一般是由RST引脚与TEST(或TCK)引脚做一个稍复杂的启动逻辑后产生。

BSL启动后,就可以通过预先定义好的UART协议命令对MCU进行读写访问了。

4、一般的MCU都有代码加密功能,430是如何实现的呢?外部对430内部的代码读写只能通过上述的三种方式,只要把这三种方式都堵上,430的程序不就安全了吗?所以又引入了熔丝位,熔丝位只存在于JTAG、SBW接口逻辑内。

MSP430学习笔记

MSP430学习笔记

图和下方CCR2的框图是一样的。此处省略不写。在CCR中, 左上角为一个捕获源选择寄存器。可以从CCI2A、CCI2B、 GND或者VCC选择捕获源,选择捕获源后有一个选择捕获模 式寄存器Capture Mode,然后过来有一个捕获溢出状态寄 存器COV,SCS同步/异步捕获模式选择位,然后连接到捕获 比较寄存器。下方为模式选择寄存器,具体设置可以查看相 应的寄存器设置。 这里仅是大概介绍一下Timer0的寄存器,具体的设置使用还 看参考相应的寄存器并结合例程慢慢学习理解。
//以下为参考处理程序,不使用的端口应当删除其对于中断源的判断。 if((P1IFG&BIT0) == BIT0) { P2OUT&=~BIT0; //处理P1IN.0中断 P1IFG &= ~BIT0; //清除中断标志 //以下填充用户代码 } else if((P1IFG&BIT1) ==BIT1) { P2OUT&=~BIT1; //处理P1IN.1中断 P1IFG &= ~BIT1; //清除中断标志 //以下填充用户代码 } else if((P1IFG&BIT2) ==BIT2) { P2OUT&=~BIT2; //处理P1IN.2中断 P1IFG &= ~BIT2; //清除中断标志 //以下填充用户代码 } else if((P1IFG&BIT3) ==BIT3) { //处理P1IN.3中断 P1IFG &= ~BIT3; //清除中断标志 //以下填充用户代码 } else if((P1IFG&BIT4) ==BIT4) { P2OUT&=~BIT4; //处理P1IN.4中断 P1IFG &= ~BIT4; //清除中断标志 //以下填充用户代码 } else if((P1IFG&BIT5) ==BIT5) { //处理P1IN.5中断 P1IFG &= ~BIT5; //清除中断标志 //以下填充用户代码 } else if((P1IFG&BIT6) ==BIT6) { //处理P1IN.6中断 P1IFG &= ~BIT6; //清除中断标志 //以下填充用户代码

MSP430单片机BSL说明

MSP430单片机BSL说明

1.通过PC机USB口对MSP430 FLASH 全系列单片机进行BSL 编程,并在JTAG里的熔丝已烧断的情况下可再次编程,可有效保护用户程序,是对MSP430单片机进行加密后再进行编程的唯一解决方案;它既适合少量写片,也适合批量生产。

2.完全兼容德州仪器原厂BSL(Bootstrap Loader)的MSP430开发工具;B接口在线编程,USB口取电,不需要外接电源,并能给目标板或用户板提供3.3V电源(采用专业3.3V稳压芯片而非芯片PL2303的调整电压输出,功率更大,通讯更稳定),目标板或用户板无需上电(只需连接编程器的1-6脚即可,如F14X系列);注意:如果目标板或用户板需上电(目标板或用户板负载较大时),则编程器6脚不要连接到目标板或用户板的VCC,只需连接编程器的1-5脚即可(如F14X系列);4.带短路保护!板载500MA的自恢复保险丝,当您目标板短路时,自恢复保险立即断开,起到保护您电脑USB口的作用,当您的短路故障排除后,保险丝自己可以恢复正常;5.操作软件全中文图形化界面,使用简单可靠;相比同功能产品体积更小,使用更方便。

6.通过编程接口(见下图)的TXD、RXD和GND脚可以作为升级卫星接收机使用,1脚TXD接到MCU的TX;3脚RXD接到MCU的RX,再接上5脚GND;无需再用MAX232转换;广泛应用于电台改装、手机刷机、XBOX360刷机、GPS、汽车检测,DVD刷机升级、硬盘维修、刷写路由器固件、机顶盒升级等功能。

7.具备USB转串口/TTL功能,通过上位机测试软件,且在单片机内写好通讯测试程序,即可使用此模块做MSP430应用系统和PC机之间的通讯实验(将编程器的1脚BSLTX,3脚BSLRX和5脚GND与MSP430的TXD,RXD和GND相连即可);8.无需IAR开发环境进行下载,从而使批量生产的效率更高;使用简单可靠,使批量生产成为现实;相比同功能产品体积更小,使用更方便。

MSP430初学者教程(最详细)

MSP430初学者教程(最详细)

如何学习MSP430单片机学习就是迎接挑战、解决困难的过程,没有挑战,就没有人生的乐趣。

下面以MSP430系列单片机为例,解释一下学习单片机的过程。

(1)获取资料购买有关书籍,并到杭州利尔达公司网站和TI网站获取资料,例如,在网上可以找到FET 使用指导、MSP430 F1xx系列、F4xx系列的使用说明和具体单片机芯片的数据说明,可以找到仿真器FET的电路图、实验板电路图、芯片封装知识等大量的实际应用参考电路,当然有些资料是英文的,看懂英文资料是个挑战,学会4、6级英语就是为看资料的。

英语难学,但是看资料容易,只要下决心,看完一本资料,就可以看懂所有的相关资料。

(2)购买仿真器FET和实验电路板如果经济条件不错,可以直接购买。

(3)自制仿真器FET和实验电路板自制仿真器FET,首先要到网上找到FET电路图,然后就可以使用画电路板软件画电路图和电路板图,这又是个挑战。

FET电路非常简单,但要把它制作出来还是需要下一番工夫的,找一本有关书,然后练习画原理图,画完原理图后,就学习认识元件封装,再购买元件,这时就可以画电路板图了,一旦画好,将形成的PCB文件交给电路板制作公司,10天后,就可以得到电路板,焊上元件和电缆,等实验电路板做好后,就可以与实验电路板一起调试了。

自制实验电路板,需要单片机芯片内部工作原理的知识、封装知识,清楚的知道每一个引脚的功能,还需要数码管、按钮、排电阻、三端稳压器、二极管、散热器、电解电容、普通电容、电阻、钮子开关等元件的知识,对于初学者,可以做一个只有3个数码管、8个按钮、8个发光二极管的简单实验板,这样的实验板,虽然简单,但足可以帮助初学者入门单片机。

自制实验电路板与自制FET一样,首先画电路图,然后买元件,再画电路板。

由于MSP430系列芯片是扁平封装,焊接起来有一定难度,这好象是个挑战,但实际上很简单,方法如下:首先在焊盘上涂上松香水,在松香水未干的情况下,将芯片放在焊盘上,注意芯片第一引脚的位置,并使引脚与焊盘对齐,将擦干净的电烙铁(不能有任何焊锡)接触引脚,引脚只要一热,焊盘上的焊锡就自动将引脚焊住了,千万注意电烙铁上不能有焊锡,焊接时最好配备一个放大镜。

430多功能离线编程器使用说明

430多功能离线编程器使用说明
软件主操作界面 运行编程器软件就进入 LSD-PRGS430U 多功能离线编程器 V2.10 版软件的操作界面,如下图:
图3 通信设置: 端口和速率都是软件自动选定的,用户无须设置。在升级编程器的时候速率是 Low,升级完成之后 通信速率自动调整到 High。
BSL 版本号 在 BSL 模式下,编程器会自动读取目标芯片内的 BSL 版本号信息。TI 的 BSL 版本有 2 种格式,F5 以下的 430 单片机 BSL 版本号形式如 V1.61;F5 及以上的 BSL 版本号形式如 00.00.01.01 具体含义 可见相关应用报告。
DC9V 200mA
计算机 DC9V电源
(一) 电源接口
电源为 9VDC/200mA 的直流电源,电源插头内正外负 可。LSD-PRGS430U 编程器在线联机模式下可不用该电源。
,然后按照图示连接将电源接入插口即
(二) 通讯接口 USB 接口 LSD-PRGS430U 多功能离线编程器留有 USB 接口,用户可以通过 USB 口对编程器进行功能设置、升
字节顺序:
如要把 0x112233 这个数据下载到以 0x1800 为起始地址的单元中。不同的字节排列顺序就会有不同
的存储结果:
低字节在前,则结果是
进制:HEX
地址
1800
1801
1802
地址内的数据
33
22
11
这种方式是绝大多数单片机存储数据的默认方式。
高字节在前,则结果又是
地址
1800
1801
地址内的数据
SBW 接口定义如下:引 1脚来自2 34567
8
9 10 11 12 13 14

SBWTDIO VCC NC NC NC NC SBWTCK TST GND NC NC NC NC NC

MSP430烧写程序

MSP430烧写程序

MSP430无论是仿真还是烧写程序,一般可以通过:JTAG、SBW、BSL接口进行。

1、JTAG是利用边界扫描技术,在430内部有逻辑接口给JTAG使用,内部有若干个寄存器连接到了430内部数据地址总线上,所以可以访问到430的所有资源,包括全地址FLASH、RAM及各种寄存器。

可以用于对430的仿真和编程,主要连接线有TMS、TCK、TDI、TDO,430还需要另两条线路RST、TEST来启动JTAG命令序列。

2、SBW是SPY-BI-WIRE,可以简称为两线制JTAG,主要有SBWTCK(连接到JTAG 接口的7脚TCK)与SBWTDIO(连接到JTAG接口的1脚TDO/TDI),该接口主要用于小于28脚的2系列单片机,因为28脚以内单片机的JTAG一般与IO口复用,为了给用于留有更多的IO资源,才推出SBW接口。

SBW同JTAG一样可以访问到430内部的所有资源。

注:目前MSP430F5XX系列中也有SBW接口,原理同2系列的SBW。

3、BSL是TI在430出厂时预先固化到MCU内部的一段代码,该代码用户不可读写,这有点类似与DSP的bootloader,但又与bootloader有明显的区别,BSL只能用于对MCU内部的FLASH访问,不能对其他的资源访问,所以只能用作编程器接口。

BSL通过UART协议与编程器连接通信。

编程器可以发送不同的通信命令来对MCU的存储器做不同的操作,可以把这种方式称为BSL接口。

BSL代码的启动有些特殊,一般430复位启动时PC指针指向FFFE复位向量,但可以通过特殊的启动方式可以使MCU在启动时让PC指向BSL内部固化的程序。

这种特殊的启动方式一般是由RST引脚与TEST(或TCK)引脚做一个稍复杂的启动逻辑后产生。

BSL启动后,就可以通过预先定义好的UART协议命令对MCU进行读写访问了。

4、一般的MCU都有代码加密功能,430是如何实现的呢?外部对430内部的代码读写只能通过上述的三种方式,只要把这三种方式都堵上,430的程序不就安全了吗?所以又引入了熔丝位,熔丝位只存在于JTAG、SBW接口逻辑内。

通过烧断管脚来实现加密的方法

通过烧断管脚来实现加密的方法

通过烧断管脚来实现加密的方法
通过烧断管脚来实现加密的方法
 电压型烧断:
 工具:使用15V电源串47~470欧小电阻(不能太小),并联一路串二极管保护的发光管,发光管限流后接Vcc或Gnd(极性不同),接一探针。

 再使用-15V电源,电源的地接IC的Vcc,至发光管亮,注意极性为负极性!
 目的是击穿Pin的Pmos管(即上拉管);再用5V电源,直接加在待烧Pin 上,再次把已短路的Pmos,烧开路。

 使用+15V电源,把探针点在待烧管脚至发光管亮,注意不能超过3秒,否则IC会损坏。

发光管亮说明Pin的输出Nmos(即下拉管)击穿;再用5V电源烧开路。

 就OK啦,这个Pin将永远失效了!!
 过程:电压烧坏Pmos—电流烧坏Pmos—电压烧坏Nmos—电流烧坏Nmos
 如此烧断后,解密者就很难判断那个口被烧断了。

 说明:EA是读入脚(对MCU来说),而烧Pin的原理是烧坏Pin的输出推挽管,如果想烧坏Pin的输入则要冒IC被烧坏的风险!
 所以不能选只读的脚来烧,一定要烧编程时回读数据的IO口,最好烧断两个。

msp430f149学习笔记

msp430f149学习笔记

1.复位信号是MCU工作的起点,430的复位型号有两种:上电复位信号POR和上电清除信号PUC。

POR信号只在上电和RST/NMI复位管脚被设置为复位功能,且低电平时系统复位。

而PUC信号是POR信号产生,以及其他如看门狗定时溢出、安全键值出现错误时产生。

但是,无论那种信号触发的复位,都会使msp430在地址0xffff处读取复位中断向量,然后程序从中断向量所指的地址开始执行。

复位后的状态不写了,详见参考书,嘿嘿。

2.首先你要知道msp430的存储器结构。

典型微处理器的结构有两种:冯。

诺依曼结构——程序存储器和数据存储器统一编码;哈佛结构——程序存储器和数据存储器;msp430系列单片机属于前者,而常用的mcs51系列属于后者。

0-0xf特殊功能寄存器;0x10-0x1ff外围模块寄存器;0x200-?根据不同型号地址从低向高扩展;0x1000-0x107f seg_b0x1080_0x10ff seg_a 供flash信息存储剩下的从0xffff开始向下扩展,根据不同容量,例如149为60KB,0xffff-0x11003.系统时钟是一个程序运行的指挥官,时序和中断也是整个程序的核心和中轴线。

430最多有三个振荡器,DCO内部振荡器;LFXT1外接低频振荡器,常见的32768HZ,不用外接负载电容;也可接高频450KHZ -8M,需接负载电容;XT2接高频450KHZ-8M,加外接电容。

430有三种时钟信号:MCLK系统主时钟,可分频1 2 4 8,供cpu 使用,其他外围模块在有选择情况下也可使用;SMCLK系统子时钟,供外围模块使用,可选则不同振荡器产生的时钟信号;ACLK辅助时钟,只能由LFXT1产生,供外围模块。

4.中断是430处理器的一大特色,因为几乎每个外围模块都能产生,430可以在没有任务时进入低功耗状态,有事件时中断唤醒cpu,处理完毕再次进入低功耗状态。

整个中断的响应过程是这样的,当有中断请求时,如果cpu处于活动状态,先完成当前命令;如果处于低功耗,先退出,将下一条指令的pc值压入堆栈;如果有多个中断请求,先响应优先级高的;执行完后,等待中断请求标志位复位,要注意,单中断源的中断请求标志位自动复位,而多中断的标志位需要软件复位;然后系统总中断允许位SR.GIE复位,相应的中断向量值装入pc,程序从这个地址继续执行。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MSP430加密熔丝烧断器的制作在过去,如果一个项目做完后。

将交付客户检收时往往需将芯片进行加密保护措施,如果要买一个专业的TI编程器带加密功能的设备价格可达1000-2000RMB左右。

如果认为太贵的话,大家不防考虑一下采用以简单的方法为你的芯片。

成本也较专业级的低得多,同时也可以直接应用于产品生产时之用。

以下是为大家编写的教大家如何制作的MSP430加密熔丝烧断器的制作主要要点,有兴趣的朋友不防一起动手试试制作。

提出MSP430 系列单片机在代码保护及加密方面的解决方案;在此方案的基础上,对MSP430 系列单片机的JTAG结构及加密熔断的应用范围、原理、条件参数、操作时序及具体的方法进行阐述;结合实际对一款MSP430系列加密熔断器的功能特征、硬件结构、软件流程及部分程序进行详细的说明。

引言MSP430系列单片机是德州仪器(TI)公司推出的一款16位超低功耗单片机。

它能够在1.8~3.6V电压、1MHz频率的条件下运行,耗电电流在0.1~400μA。

在运算速度上,MSP430系列单片机能在8 MHz 晶振的驱动下,实现125ns的指令周期。

16位的数据宽度、125ns的指令周期以及多功能的硬件乘法器相配合,能实现数字信号处理的某些算法(如FFT等) 。

在整合方面,MSP430系列单片机将大量的CPU外围模块集成在片内,有如下一些模块:看门狗(WDT) 、模拟比较器、串口、硬件乘法器、液晶驱动器、10位/12位/14位ADC、端口0~6 、基本定时器。

其中定时器A、B均带有多个捕获/ 比较寄存器,同时可实现多路PWM 输出;模拟比较器与定时器配合,可方便地实现ADC;液晶驱动多达160 笔段;硬件ADC 模块在小于10 μs的速率下实现10~14 位的高速、高精度转换,同时提供采样/保持与参考电压;端口0、1、2能够接收外部上升沿或下降沿的中断输入。

MSP430系列单片机的开发调试有多种技术方案,其中以JTAG和BOOTSTRAP(简称“BSL”) 方式最为方便。

对于Flash型的MSP430单片机初期开发进行的仿真,只需要1台PC 机和1个JTAG控制器即可实现。

进入产品级开发阶段,为了保护用户代码,烧断Flash的保护熔丝以后就无法再通过J TAG 口访问单片机, 这时用户对Flash中的程序再进行检查或更新就只能通过BOOT2STRAP 进行。

不用担心用户代码会泄露,BOOTSTRAP提供了32字节256位的密码保护,能完全确保代码的安全性。

1 熔断加密原理MSP430 系列单片机采用JTAG(实际上称为IEEE1149.1或边界扫描)接口技术,实现对单片机全部存储器的访问,包括程序Flash 、ROM、RAM ,并可对其进行擦除、读写。

它能用于程序的下载,监测程序使用情况和各个变量与寄存器的使用情况, 并可对其进行修改。

JTAG接口需要4 根信号线、地线和电源线。

具体信号线的定义如表1 所列。

表1 JTAG接口信号线---------------------------------------------引脚方向描述TMS 输入JTAG状态机控制信号线TCK 输入JTAG时钟输入线TDI/TCLK 输入JTAG数据输入线/ TCL K输入TDO 输出JTAG数据输出线---------------------------------------------JTAG接口为程序的调试、仿真及监控带来了很大的方便,大大提高了编程效率,缩短了开发周期;但在程序测试完成转换为产品推向市场时,就必须对程序代码进行加密处理,防止程序代码的泄漏。

JTAG接口的安全性很差,只要符合JTAG 标准的控制器就可以将程序代码读出,所以必须禁止JTAG 功能。

对于MSP430 系列单片机,禁止J TAG功能的途径是将单片机内部的加密保险丝熔断,熔断后的单片机就无法再使用JTAG功能,从而达到加密程序代码的目的。

具体的JTAG及加密保险丝结构框图如图1所示。

MSP430系列单片机在上电复位时会通过TDI/TCLK端对保险丝进行检测,当保险丝完好时,在TDI/TCL K和地之间会有1mA 的电流流过。

保险丝检测出现在上电复位以后TMS端的第一个下降沿上,在第二个下降沿上会解除保险丝的检测,直到下一次的上电复位再进行保险丝检测,即在每一次的上电复位都会对保险丝进行检测。

保险丝检测电流只有在保险丝检测方式时才会流过TDI/TCLK端,当检测不到保险丝电流时,JTAG功能就会失效,且这种加密方式是硬件方式的加密,一旦保险丝熔断,JTAG功能就永久失效了,无法再通过JTAG口访问单片机,从而保证了单片机内代码的安全。

2 熔断加密的时序及方法MSP430单片机保险丝的熔断必须在特定的条件下进行。

表2 列出了熔断保险丝所需的条件及具体参数。

表2 保险丝熔断条件及参数---------------------------------------------------------保险丝电参数min nor max熔断时单片机供电电压VCC(fb)/V 2.5 3.3 3.6熔断时施加在TDI/TCLK端的电压Vfb/V 6 6.5 7熔断时施加在TDI/TCLK端的电流Ifb/mA 100熔断时间tfb/ms 1---------------------------------------------------------在满足表2 所列的条件下,简单地将6.5V电压加在TDI/TCLK端上时,是无法熔断保险丝的,必须在一定的时序及指令下才可以完成。

下面是熔断保险丝所需的指令及时序:IR_SHIFT(" IR_CN TRL_SIG_16BIT" )DR_SHIFT_IN(0x7201) ; TDO 信号切换为TDI 功能。

TDI信号端释放, TDO 切换为TDIIR_SHIFT(" IR_PREPARE_BLOW" ) ; 通过TDO 信号端传输MsDelay(1) ; 延时1ms。

等待,连接Vpp至TDI信号端IR_SHIFT(" IR_EX_BLOW") ; 通过TDO 信号端给目标板发送指令MsDelay(1) ; 延时1 ms ,将Vpp 从TDI 信号端移开;切换TDI信号端返回TDI功能,同时复位J TA G状态机IR_SHIFT(" IR_CNTRL_SIG_16BIT" )为切换J TAG进入16位数据接收模式;DR_ SHIFT_ IN(0x7201)为将TDO 信号切换为TDI功能,TDI信号释放,为接入熔断电压Vpp作准备;IR_SHIFT(" IR_ PREPARE_BLOW" )为设置MSP430 进入保险丝熔断方式;MsDelay(1)为延时1ms,同时连接熔断电压Vpp 至TDI信号端;IR_ SHIFT("IR_BX_BLOW" )为执行保险丝熔断;MeDelay(1) 为延时1ms,同时断开TDI端的熔断电压Vpp,TDI信号端切换回TDI功能,JA TG状态机复位。

保险丝加密熔断完成。

3 熔断加密器的设计与实现熔断加密器可以实现对MSP430Flash单片机的编程、烧熔丝和BSL下载。

可以选择编程后是否熔断芯片内熔丝,进行加密;可自行设置密码,彻底保护芯片内容;可进行完全擦除编程和保留编程,通过BSL 方式读出目标CPU内的代码。

熔断加密器的硬件采用了MSP430F1111A作为系统芯片,实现对目标JTAG口的通信控制、熔断电压V pp的加载与分离、目标MSP430 单片机中保险丝熔断指令的控制。

在电源部分,熔断电压V pp 及100mA的熔断电流是在7806三端稳压芯片与地之间串接二极管IN4001来实现的;熔断电压Vpp的加载与分离通过继电器的通断来实现,并使用了3 个LED 分别指示目标单片机保险丝未熔断、正在熔断及已熔断的状态。

熔断加密器系统控制部分的电路如图2 所示。

软件部分是通过C 语言来实现熔丝加密器与目标单片机之间的数据通信及指令控制的。

具体软件流程如图3所示。

以下为加密熔断器主程序:复制代码#include "MSP430x11x.h"void main (void){unsigned char k ;WDTCTL = WDTPW + WDTHOLD ;P1DIR = 0xFE;P1OUT &= ~BIT2 ; // 断开VppP1OUT &= ~BIT3 ; // 保险丝准备指示灯(黄色) 亮P2OUT |= BIT5 ; // 保险丝熔断成功指示(绿色) 灭P2DIR = 0xEF ;while (1){if ((P1IN&0x01)==0){ResetTAP1(); //?delay(50000);IR_SHIFT(0x14);DR_SHIFT16 (0xAAAA);if(tdovalue != 0x5555){ // 保险丝未熔断P1OUT |= BIT3; // 保险丝准备指示灯(黄色) 灭IR_SHIFT(0x13);DR_SHIFT16(0x7201) ;delay(10000);tdopin=1;P2DIR |= BIT4;IR_SHIFT(0x22);P1OUT |= BIT2; // 接通Vpp,断开TDIdelay(50000);IR_SHIFT(0x24);delay(10000);P1OUT &= ~BIT2; // 断开Vpptdopin = 0;P2DIR &= ~BIT4;ResetTAP();delay(50000);IR_SHIFT(0x14);DR_SHIFT16 (0xAAAA);if (tdovalue == 0x5555){ // 保险丝熔断成功P2OUT &= ~BIT5 ; // 保险丝熔断成功指示(绿色)for (k=1; k<=3; k++)delay(50000) ; // 绿灯常亮}else{ // 保险丝未熔断黄灯闪烁3 次for(k=1;k<=3;k++){P1OUT &= ~BIT3 ; // 保险丝准备指示灯(黄色)亮delay(50000) ;P1OUT |= BIT3 ; // 保险丝准备指示灯(黄色)灭delay(50000) ;}}}else{ // 保险丝已熔断for(k=1;k<=3;k++){P1OUT &=~BIT3 ; // 保险丝准备指示灯(黄色) 亮P2OUT &=~BIT5 ; // 保险丝熔断成功指示(绿色)亮delay(50000) ;P1OUT |= BIT3 ; // 保险丝准备指示灯(黄色) 灭P2OUT |= BIT5 ; // 保险丝熔断成功指示(绿色)灭delay(50000) ;}}P1OUT &= ~BIT3 ; // 保险丝准备指示灯(黄色)亮}}}本加密熔断器在实际应用中取得了非常理想的效果,可对MSP430 系列单片机的保险丝进行可靠而有效的熔断,完全保护了MSP430单片机中的代码安全。

相关文档
最新文档