1. 首页>动态要闻 > 信息

fpga怎么把数据传给msp430单片机

作者:金原
2020-04-17
信息

1.怎么学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系列芯片是扁平封装,焊接起来有一定难度,这好象是个挑战,但实际上很简单,方法如下:首先在焊盘上涂上松香水,在松香水未干的情况下,将芯片放在焊盘上,注意芯片第一引脚的位置,并使引脚与焊盘对齐,将擦干净的电烙铁(不能有任何焊锡)接触引脚,引脚只要一热,焊盘上的焊锡就自动将引脚焊住了,千万注意电烙铁上不能有焊锡,焊接时最好配备一个放大镜。焊接电路板时,每一个元件都要核对参数,可以用万用表测量的元件一定要测量。

(4)从网上获得IAR软件到利尔达公司或TI公司的网站下载IAR软件,并安装到计算机上。(5)调试FET和实验板将FET的一端与PC机的并行口相连,另一端连接实验板的JTAG接口,上电后,检查FET芯片、实验板上的单片机芯片是否发热(用手模),PC机是否工作正常后,运行IAR软件,找个C语言或汇编语言的例子,编译成功后下载到单片机中,如果能够下载,说明一切成功。

否则还需要仔细研究,一般情况下,只要电路板上的电路正确,元件参数准确,没有不成功的。(6)分步骤学习单片机学习使用单片机就是理解单片机硬件结构,在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。

第一步:数字I/O的使用使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕麻烦,所有的单片机都是这样。

第二步:定时器的使用学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设备的控制中有很多应用,例如,可以用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。数字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以实现时序电路,但是只有单片机实现起来最简单,成本最低。

定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。第三步:中断单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。

要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行正常的程序。中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等。

中断学会后,就可以编制更复杂结构的程序,这样的程序可以干着一件事,监视着一件事,一旦监视的事情发生,就中断正在干的事情,处理监视。

2.如何用MSP430单片机flash存储数据

你这个涉及到查找,查找算法有很多,针对不同的情况有不同的算法,你存的数据是什么数据呢?你要实现断电记录位置,搞个EEPROM,每次写之前把上一次的位置写入EEPROM,就可以了,位置提前记录,重写的时候已存在的数据重写一遍不会有问题。

FLASH闪存 闪存的英文名称是"Flash Memory",一般简称为"Flash",它属于内存器件的一种,是一种不挥发性( Non-Volatile )内存。

闪存的物理特性与常见的内存有根本性的差异:目前各类 DDR 、SDRAM 或者 RDRAM 都属于挥发性内存,只要停止电流供应内存中的数据便无法保持,因此每次电脑开机都需要把数据重新载入内存;闪存在没有电流供应的条件下也能够长久地保持数据,其存储特性相当于硬盘,这项特性正是闪存得以成为各类便携型数字设备的存储介质的基础。

3.我现在有块板子上有USB接口,现在想把数据通过这个USB传给MSP

利用TUSB3410 USB-TO-UART桥接芯片实现MSP430微控制器与USB设备通讯的一种接口方案 通过该USB接口可实现高达921 600bit/s的数据传输速率,也可通过该接口下载MSP430程序代码,是一种MSP430系列微控制器的高效USB接口解决方案 硬件设计 系统结构框图如图1所示,主机PC与MSP430之间可进行全双工串口通讯,主机PC经TUSB3410虚拟的一个COM口与MSP430的硬件USART模块进行通讯,本文重点叙述TUSB3410与MCU之间的软、硬件设计。

系统采用USB总线供电模式,MCU可通过I2C接口对TUSB3410进行在线编程及外部EEPROM存储器的配置。 1.TUSB3410接口芯片 TUSB3410为TI公司推出的一款用于USB-TO-UART端口的桥接器,包括通过USB总线与主机进行通信所必需的全部逻辑电路,符合USB2.0规范,支持最高12Mb/s的全速传输,支持USB中止、恢复及远程唤醒功能;同时,其内部包含一个8052的CPU核、16KB RAM、包含I2C引导加载程序的10KB ROM,4个通用I/0口,具有USB总线供电和自带电源两种供电模式。

TUSB3410引脚框图如图2所示: 2.USB配置 TUSB3410可以支持多种应用,本文所描述的参考设计配置如表1所示。 对于USB的兼容性来说,任意USB设备都具有唯一的VID(厂商识别码)和PID(产品识别码),VID/PID值作为一描述符传输给主机PC,并且与存储在驱动INF文件中的值相匹配,操作系统根据VlD/PID加载不同的驱动程序。

外部EEPROM用于存储配置参数,如VID/PID信息等,既可通过MCU经12C模块将EEPROM的镜像文件写入EEP-ROM,也可通过专用EEPROM编程器直接对EEPROM进行镜像文件写入TUSB3410也通过12C接口读取EEPROM数据。 3.硬件电路原理 系统原理图如图3所示,本文以MSP430F1612(U1)为例,任意一款内部含UART模块的MSP430微处理器均可与TUSB3410连接,MSP430F1612为MSP430系列中的高端MCU,丰富的资源使得开发具有更多的灵活性。

MSP430F1612选用8MHz晶振工作,MCU的6个引脚P1-P6通过PORT1-PORT6的8引脚插针引出,方便MCU与TUSB3410(U2)及外围器件的连接;SW1-SW4按键和LED1-LED4指示灯均通过I/O口控制,演示测试过程;同时,MCU与标准14针JTAG接口连接用于调试程序或调整电压值。 系统采用USB总线供电,同时LED5指示灯点亮,TUSB3410(U2)的USB数据信号经双路USB端口瞬态抵制器SN75240(U3)后连接到标准的USB B型连接口,以增强系统ESD抗干扰能力;USB总线提供的5V电压经TPS77301(U4)3.6V LDO稳压后作为MCU系统的VCC电压。

外部EEPROM(U5)通过12C通讯并存储USB配置参数,EEPROM的大小根据存储量选择,编程时通过短接JP1跳针与EEPROM的SCL信号线相连,同时TUSB3410通过USB将标准的VID/PID值传送到主机PC。 TUSB3410选用12MHz晶振,与MCU信号连接如表2所示,数据传输时,MCU的UART模块开始工作,支持TUSB3410所有波特率,同时通过12C模块与外部EEPROM采用在线编程方式直接存储数据MCU的P3.O/SETO引脚作为TUSB3410的复位脚,当MCU访问EEPROM时,复位该引脚,当没有外设连耐也可用该引脚进行复位测试。

4.低成本参考设计 系统的功耗设计可以从两方面考虑:(1)不使用外部EEP-ROM;(2)不使用外部晶振。 (1)不使用外部EEPROM 利用TUSB3410实现的USB转UART接口可以不使用外部EEPROM,VID/PID描述符使用TI的默认缺省值,TUSB3410固件从主机PC上下载即可实现通讯,但是,存在两个问题:①因为不具备唯一VlD值,系统的USB设备兼容性不好;②当主机检测到两个不同USB设备,具有相同的VID/PID和序列号时,可能会导到USB设备不能正常工作或发生设备连接冲突所以,通常设计中不推荐采用此方法,除非该系统为独立总线工作方式,即不与外界任何USB设备同进与主机通讯。

(2)MSP430微控器器不使用外部晶振 TUSB3410由CLKOUT引脚输出UART波特率或一个固定的3.556MHz的频率信号,该频率信号可以作为MCU的外时钟输入,这种稳定的频率信号可作为MCU外设的工作频率,此时MCU无须连接外部晶振。 当系统选用TUSB3410产生的频率作为MCU时钟时,只需修改TUSB3410固件,通过设置MODECNFG配置寄存器的CLKOUTEN位,CLKOUT位使能输出,同时,CLKSLCT位用于选择以UART输出还是固定频率输出。

修改后的固件存放在外部EEPROM或存放于系统的驱动程序包中,当存于系统驱动程序包中时,设备连接时修改后的固件自动从操作系统驱动程序中载入,MCU的OSCFAULT位用于检测是否系统使用外部晶振当TUSB3410输出7.3728MHz频率作为MCU的UART模块的时钟源时,此时UART传输速率可达921 000波特。 软件设计 MCU固件的主程序流程图如图4所示,MCU上电复位后调用InitSystem()初始化程序,初始化外设、看门狗、通用I/O口等,设置系统时钟为外部8MHz晶振,同时将USARTO设为12C模式与外部EEPROM实时通讯。

MCU初始化时,TUSB3410处于复位。

4.如何用MSP430单片机flash存储数据

MSP430 FLASH型单片机的FLASH存储器模块根据不同的容量分为若干段,其中信息存储器SegmengA及SegmentB各有128字节,其他段有512字节。

SegmentB的地址是:0x01000h到0x107F,SegmentA的地址是:0x01080h到0x010FFh。其他段的地址根据容量不同,从0xFFFFh开始,每512字节为一段进行分配。

FLASH存储器写入数据时,每一位只能由“1”变成“0”,不能由“0”变成“1“,因此,当我们有数据要保存到FLASH存储器时,要先对目标段进行整段擦除操作,擦除操作使的对应段FLASH存储器变成全“1”。下面是擦除FLASH段的子程序,配置好必要的寄存器后,向段中任意地址写入数据,及擦除一段。

void flash_clr(int *ptr) { _DINT(); //关中断 FCTL3 = 0x0A500; / FCTL1 = 0x0A540; *((int16_t *) ptr) = value; } // FLASH存储器可以连续写入 按字节写入指定的数量的数据 void flash_memcpy(char *ptr, char *from, int len) { _DINT(); FCTL3 = 0x0A500; FCTL1 = 0x0A540; while (len) { *ptr++ = *from++; len--; } } 在我们的应用程序中可以将要保存的数据放在一个自定义的结构中,例如: typedef struct Setup { float gain_ch0; // 0通道增益 float gain_ch1; // 1通道增益 float gain_ch2; // 2通道增益 char init_flag; //初始化标记,恒为0xAA; }SETUP; 我们定义了一个SETUP结构,存放三个AD通道的增益,以及其他要掉电保存的信息,init_flag的作用是标志FLASH的参数是否已被正确初始化,当我们设置了FLASH参数后,将init_flag置一个固定值,例如设为0xAAh,在程序开始运行时,检查init_flag,当init_flag的值为0xAAh时,表明参数已被初始化。

使用FLASH参数:在程序中定义一个SETUP类型的指针变量,通过这个指针访问FLASH中的参数。例如: #define SegmentA 0x1080 float temp; SETUP *p_setup_flash = (SETUP *) SegmentA if(p_setup_flash-> init_flag == 0xAA) { temp = p_setup_flash->gain_ch0; } 修改FLASH信息:由于FLASH不能象RAM一样直接修改,可以将FLASH信息拷贝到RAM中,修改相应参数后,重新保存到FLASH存储器中,之前要先擦除FLASH存储区。

例如: SETUP *p_setup; SETUP buf; // 临时变量 p_setup = (SETUP *) SegmentA // 指向FLASH memcpy((char *) buf, (char *) p_setup_flash, sizeof(SETUP)); // 拷贝到RAM p_setup = &buf; // 指向RAM p_setup-> gain_ch0 = 1.02; // 修改参数 flash_memcpy((char *) p_setup_flash, (char *) buf, sizeof(SETUP)); // 拷贝到FLASH。

5.单片机MSP430怎么把你一个数保存到她得内部寄存器,有怎么读出

用汇编还是用C,汇编直接操作对寄存器的地址读写数据就行了,C的话起始也是对寄存器地址操作,不过要知道寄存器的地址单元,一般在芯片自带的的。

h文件中都有定义自身的SFR地址,或者你自己查数据手册,操作寄存器单元地址也是可以的, 比如:sfrA是一个寄存器单元,其地址是0x0f28,访问这个地址单元可以通过这样的形式: (*(volatile unsigned char *))0x0f28, 读:unisgned char ucTmp = (*(volatile unsigned char *))0x0f28; 写:(*(volatile unsigned char *))0x0f28 = x; 清零:就是写操作(*(volatile unsigned char *))0x0f28 = 0x00;。

6.两个MSP430单片机之间通过一根IO口线传输数据,,该用什么样的方

1、更换单片机:参照430单片机的最小系统图,修改单片机的引脚和名称等等。

2、由于430单片机的P1、P2口才有中断能力,而键盘输入最好采用中断而不是查询方式,所以要更改键盘的连接方式,更改IO口。

3、参照430单片机的引脚描述,将第一个单片机的串口发送引脚连接到第二个单片机的串口接收引脚。

至此,硬件电路更改完毕。

程序编写:

1、430单片机的时钟配置,中断处理框架;

2、串口处理子程序;

3、键盘中断子程序;

初学430单片机可能会接触MSP430F149单片机,具体的串口中断、IO口中断和时钟配置的代码例程在TI的官网上都可以找得到,你可以参考。

fpga怎么把数据传给msp430单片机

推荐阅读
  • 日照好玩的地方和吃海鲜应该去哪听说日

    日照好玩的地方:万平口:"旅游来日照,必到万平口",已成为各地游客的共识。刘家湾赶海园:以赶海系列活动为主,集旅游、休闲、度假、民俗、健身于一体的综合旅游园。竹洞天:位于山东省日照市城区西端的将帅沟毛竹…

    信息 2024-09-20
  • 什么是铸造

    铸造是指将室温中为液态,但不久后将要固态化的物质倒入特定形状的铸模待其凝固成形的加工方式。 被铸物质多半原为固态但加热至液态的金属(例:铜、铁、铝、锡、铅等),而铸模的材料可以是沙、金属甚至陶瓷。 因应…

    信息 2024-09-20
  • 变形金刚中博派和狂派各有哪些人物

    博派:擎天柱,铁皮,大黄蜂,爵士,棘齿。狂派:威震天,红蜘蛛,眩晕,吵闹,萨克,碎骨魔,路障,迷乱。…

    信息 2024-09-20
  • 一平方毫米的铜线能过多少安的电流

    1平方毫米的铜线在不同电流下通过的安培数不同。最大是18A:(1)60A以下,选1平方毫米的铜线安全载流量是6A;(2)60~100A,选1平方毫米的铜线,安全载流量是5A;(3)100A以上,选1平方毫米的铜线,安全载流量是2.5A 。…

    信息 2024-09-20
  • 中华人民共和国城乡规划法第四十条有规

    自2008年1月1日起施行的《中华人民共和国城乡规划法》第四十条:在城市、镇规划区内进行建筑物、构筑物、道路、管线和其他工程建设的,建设单位或者个人应当向城市、县人民政府城乡规划主管部门或者省、自治区、直辖…

    信息 2024-09-20