看白癜风费用贵吗 http://baidianfeng.39.net/a_bdfzyyq/141108/4513569.html
本章,主要向大家简要介绍我们的实验平台:ALIENTEK战舰STM32F。通过本章的
学习,你将对我们后面使用的实验平台有个大概了解,为后面的学习做铺垫。
本章将分为如下两节:
1.1,ALIENTEK战舰STM32F资源初探;
1.2,ALIENTEK战舰STM32F资源说明;
1.1ALIENTEK战舰STM32F资源初探
自从年上市以来,ALIENTEK战舰STM32F开发板广受客户好评,并常年稳居淘
宝STM32系列开发板销量冠军。最新的战舰STM32FV3.0开发板,则是根据广大客户反馈,
在原有战舰板的基础上进行改进而来(具体改变见1.3节),下面我们开始介绍战舰STM32F
开发板V3.0版本。
ALIENTEK战舰STM32FV3.0的资源图如图1.1.1所示
图1.1.1战舰STM32F资源图从图1.1.1可以看出,ALIENTEK战舰STM32F,资源十分丰富,并把STM32F的
内部资源发挥到了极致,基本所有STM32F的内部资源,都可以在此开发板上验证,同时
ALIENTEK多年的STM32开发板设计经验,同时听取了很多网友以及客户的建议,经过多次
改进,最终确定了这样的设计。
ALIENTEK战舰STM32F板载资源如下:
◆CPU:STM32FZET6,LQFP,FLASH:K,SRAM:64K;
◆外扩SRAM:XM8A16,1M字节
◆外扩SPIFLASH:W25Q,16M字节
◆1个电源指示灯(蓝色)
◆2个状态指示灯(DS0:红色,DS1:绿色)
◆1个红外接收头,并配备一款小巧的红外遥控器
◆1个EEPROM芯片,24C02,容量字节
◆1个板载扬声器(在底面,用于音频输出)
◆1个光敏传感器
◆1个高性能音频编解码芯片,VS
◆1个无线模块接口(可接NRF24L01/RFID模块等)
◆1路CAN接口,采用TJA芯片
◆1路接口,采用SP3芯片
◆2路RS串口(一公一母)接口,采用SP3芯片
◆1个游戏手柄接口(与公头串口共用DB9口),可接插FC(红白机)游戏手柄
◆1路数字温湿度传感器接口,支持DS18B20/DHT11等
◆1个ATK模块接口,支持ALIENTEK蓝牙/GPS模块/MPU模块等
◆1个标准的2.4/2.8/3.5/4.3/7寸LCD接口,支持触摸屏
◆1个摄像头模块接口
◆1个OLED模块接口(与摄像头接口共用)
◆1个USB串口,可用于程序下载和代码调试(USMART调试)
◆1个USBSLAVE接口,用于USB通信
◆1个有源蜂鸣器
◆1个游戏手柄/RS选择开关
◆1个RS/RS选择接口
◆1个RS/模块选择接口
◆1个CAN/USB选择接口
◆1个串口选择接口
◆1个SD卡接口(在板子背面,SDIO接口)
◆1个10M/M以太网接口(RJ45)
◆1个标准的JTAG/SWD调试下载口
◆1个录音头(MIC/咪头)
◆1路立体声音频输出接口
◆1路立体声录音输入接口
◆1组多功能端口(DAC/ADC/PWMDAC/AUDIOIN/TPAD)
◆1组5V电源供应/接入口
◆1组3.3V电源供应/接入口
◆1个参考电压设置接口
◆1个直流电源输入接口(输入电压范围:6~24V)
◆1个启动模式选择配置接口
◆1个RTC后备电池座,并带电池
◆1个复位按钮,可用于复位MCU和LCD
◆4个功能按钮,其中KEY_UP兼具唤醒功能
◆1个电容触摸按键
◆1个电源开关,控制整个板的电源
◆独创的一键下载功能
◆除晶振占用的IO口外,其余所有IO口全部引出
ALIENTEK战舰STM32F的特点包括:
1)接口丰富。板子提供十来种标准接口,可以方便的进行各种外设的实验和开发。
2)设计灵活。板上很多资源都可以灵活配置,以满足不同条件下的使用。我们引出了除晶
振占用的IO口外的所有IO口,可以极大的方便大家扩展及使用。另外板载一键下载
功能,可避免频繁设置B0、B1的麻烦,仅通过1根USB线即可实现STM32的开发。
3)资源充足。主芯片采用自带K字节FLASH的STM32FZET6,并外扩1M字节
SRAM和16M字节FLASH,满足大内存需求和大数据存储。板载高性能音频编解码芯
片、双RS串口、百兆网卡、光敏传感器以及各种接口芯片,满足各种应用需求。
4)人性化设计。各个接口都有丝印标注,且用方框框出,使用起来一目了然;部分常用外
设大丝印标出,方便查找;接口位置设计合理,方便顺手。资源搭配合理,物尽其用。
1.2ALIENTEK战舰STM32F资源说明
资源说明部分,我们将分为三个部分说明:硬件资源说明、软件资源说明和战舰V3IO引
脚分配。
1.2.1硬件资源说明
这里我们详细介绍战舰STM32F的各个部分(图1.1.1中的标注部分)的硬件资源,我
们将按逆时针的顺序依次介绍。
1.WIRELESS模块接口
这是开发板板载的无线模块接口(U4),可以外接NRF24L01/RFID等无线模块。从而实现
无线通信等功能。注意:接NRF24L01模块进行无线通信的时候,必须同时有2个模块和2个
板子,才可以测试,单个模块/板子例程是不能测试的。
2.W25QMFLASH
这是开发板外扩的SPIFLASH芯片(U10),容量为Mbit,也就是16M字节,可用于
存储字库和其他用户数据,满足大容量数据存储要求。当然如果觉得16M字节还不够用,你可
以把数据存放在外部SD卡。
3.SD卡接口
这是开发板板载的一个标准SD卡接口(SD_CARD),该接口在开发板的背面,采用大SD
卡接口(即相机卡,也可以是TF卡+卡套的形式),SDIO方式驱动,有了这个SD卡接口,就
可以满足海量数据存储的需求。
4.引出IO口(总共有三处)
这是开发板IO引出端口,总共有三组主IO引出口:P1、P2和P3。其中,P1和P2分别
采用2*22排针引出,总共引出86个IO口,P3采用1*16排针,按顺序引出FSMC_D0~D15
等16个IO口。而STM32FZET6总共只有个IO,除去RTC晶振占用的2个IO,还剩
下个,前面三组主引出排针,总共引出:个IO,剩下的分别通过:P4、P7、P8和P9
引出。
5.CAN/USB选择口
这是一个CAN/USB的选择接口(P9),因为STM32的USB和CAN是共用一组IO(PA11
和PA12),所以我们通过跳线帽来选择不同的功能,以实现USB/CAN的实验。
6.JTAG/SWD接口
这是ALIENTEK战舰STM32F板载的20针标准JTAG调试口(JTAG),该JTAG口直
接可以和ULINK、JLINK或者STLINK等调试器(仿真器)连接,同时由于STM32支持SWD
调试,这个JTAG口也可以用SWD模式来连接。
用标准的JTAG调试,需要占用5个IO口,有些时候,可能造成IO口不够用,而用SWD
则只需要2个IO口,大大节约了IO数量,但他们达到的效果是一样的,所以我们强烈建议仿
真器使用SWD模式!
7.USB串口/串口1
这是USB串口同STM32FZET6的串口1进行连接的接口(P4),标号RXD和TXD是
USB转串口的2个数据口(对CHG来说),而PA9(TXD)和PA10(RXD)则是STM32的串口
1的两个数据口(复用功能下)。他们通过跳线帽对接,就可以和连接在一起了,从而实现STM32
的程序下载以及串口通信。
设计成USB串口,是出于现在电脑上串口正在消失,尤其是笔记本,几乎清一色的没有串
口。所以板载了USB串口可以方便大家下载代码和调试。而在板子上并没有直接连接在一起,
则是出于使用方便的考虑。这样设计,你可以把ALIENTEK战舰STM32F当成一个USB
转TTL串口,来和其他板子通信,而其他板子的串口,也可以方便地接到ALIENTEK战舰
STM32F上。
8.STM32FZET6
这是开发板的核心芯片(U2),型号为:STM32FZET6。该芯片具有64KBSRAM、KB
FLASH、2个基本定时器、4个通用定时器、2个高级定时器、2个DMA控制器(共12个通道)、
3个SPI、2个IIC、5个串口、1个USB、1个CAN、3个12位ADC、1个12位DAC、1个
SDIO接口、1个FSMC接口以及个通用IO口。
9.24C02EEPROM
这是开发板板载的EEPROM芯片(U11),容量为2Kb,也就是字节。用于存储一些
掉电不能丢失的重要数据,比如系统设置的一些参数/触摸屏校准数据等。有了这个就可以方便
的实现掉电数据保存。
10.USBSLAVE
这是开发板板载的一个MiniUSB头(USB_SLAVE),用于USB从机(SLAVE)通信,一
般用于STM32与电脑的USB通信。通过此MiniUSB头,开发板就可以和电脑进行USB通信
了。
开发板总共板载了2个MiniUSB头,一个(USB_)用于USB转串口,连接CHG
芯片;另外一个(USB_SLAVE)用于STM32内带的USB。同时开发板可以通过此MiniUSB
头供电,板载两个MiniUSB头(不共用),主要是考虑了使用的方便性,以及可以给板子提供
更大的电流(两个USB都接上)这两个因素。
11.后备电池接口
这是STM32后备区域的供电接口(BAT),可安装CR电池(默认安装了),可以用来给
STM32的后备区域提供能量,在外部电源断电的时候,维持后备区域数据的存储,以及RTC
的运行。
12.USB转串口
这是开发板板载的另外一个MiniUSB头(USB_),用于USB连接CHG芯片,从而
实现USB转TTL串口。同时,此MiniUSB接头也是开发板电源的主要提供口。
13.小喇叭
这是开发板自带的一个8Ω2W的小喇叭,安装在开发板的背面,并带了一个小音腔,可
以用来播放音频。该喇叭由HT单声道D类功放IC驱动,最大输出功率可达2W。
特别注意:HT受VS的GPIO4控制,必须程序上控制VS的GPIO4输出1,
才可以控制HT工作,从而听到声音。默认条件下(GPIO4=0)HT是关闭的。
14.OLED/摄像头模块接口
这是开发板板载的一个OLED/摄像头模块接口(P6),如果是OLED模块,靠左插即可(右
边两个孔位悬空)。如果是摄像头模块(ALIENTEK提供),则刚好插满。通过这个接口,可以
分别连接2种外部模块,从而实现相关实验。
15.光敏传感器
这是开发板板载的一个光敏传感器(LS1),通过该传感器,开发板可以感知周围环境光线
的变化,从而可以实现类似自动背光控制的应用。
16.有源蜂鸣器
这是开发板的板载蜂鸣器(BEEP),可以实现简单的报警/闹铃等功能。
17.红外接收头
这是开发板的红外接收头(U8),可以实现红外遥控功能,通过这个接收头,可以接受市
面常见的各种遥控器的红外信号,大家甚至可以自己实现万能红外解码。当然,如果应用得当,
该接收头也可以用来传输数据。
战舰STM32F给大家配备了一个小巧的红外遥控器,该遥控器外观如图1.2.1.1所示:
图1.2.1.1红外遥控器18.DS18B20/DHT11接口
这是开发板的一个复用接口(U6),该接口由4个镀金排孔组成,可以用来接
DS18B20/DS等数字温度传感器。也可以用来接DHT11这样的数字温湿度传感器。实现一
个接口,2个功能。不用的时候,大家可以拆下上面的传感器,放到其他地方去用,使用上是
十分方便灵活的。
19.2个LED
这是开发板板载的两个LED灯(DS0和DS1),DS0是红色的,DS1是绿色的,主要是方
便大家识别。这里提醒大家不要停留在51跑马灯的思维,搞这么多灯,除了浪费IO口,实在
是想不出其他什么优点。
我们一般的应用2个LED足够了,在调试代码的时候,使用LED来指示程序状态,是非
常不错的一个辅助调试方法。战舰STM32F几乎每个实例都使用了LED来指示程序的运行状态
20.复位按钮
这是开发板板载的复位按键(RESET),用于复位STM32,还具有复位液晶的功能,因为
液晶模块的复位引脚和STM32的复位引脚是连接在一起的,当按下该键的时候,STM32和液
晶一并被复位。
21.启动选择端口
这是开发板板载的启动模式选择端口(BOOT),STM32有BOOT0(B0)和BOOT1(B1)
两个启动选择引脚,用于选择复位后STM32的启动模式,作为开发板,这两个是必须的。在
开发板上,我们通过跳线帽选择STM32的启动模式。关于启动模式的说明,请看2.1.8小节。
22.4个按键
这是开发板板载的4个机械式输入按键(KEY0、KEY1、KEY2和KEY_UP),其中KEY_UP
具有唤醒功能,该按键连接到STM32的WAKE_UP(PA0)引脚,可用于待机模式下的唤醒,
在不使用唤醒功能的时候,也可以做为普通按键输入使用。
其他3个是普通按键,可以用于人机交互的输入,这3个按键是直接连接在STM32的IO
口上的。这里注意KEY_UP是高电平有效,而KEY0、KEY1和KEY2是低电平有效,大家在
使用的时候留意一下。
23.参考电压选择端口
这是STM32的参考电压选择端口(P5),我们默认是接开发板的3.3V(VDDA)。如果大
家想设置其他参考电压,只需要把你的参考电压源接到Vref+和GND即可。
24.触摸按钮
这是开发板板载的一个电容触摸输入按键(TPAD),利用电容充放电原理,实现触摸按键
检测。
25.电源指示灯
这是开发板板载的一颗蓝色的LED灯(PWR),用于指示电源状态。在电源开启的时候(通
过板上的电源开关控制),该灯会亮,否则不亮。通过这个LED,可以判断开发板的上电情况。
26.多功能端口
这是1个由6个排针组成的一个接口(P10P11)。不过大家可别小看这6个排针,这可是
本开发板设计的很巧妙的一个端口(由P10和P11组成),这组端口通过组合可以实现的功能
有:ADC采集、DAC输出、PWMDAC输出、外部音频输入、电容触摸按键、DAC音频、PWM
DAC音频、DACADC自测等,所有这些,你只需要1个跳线帽的设置,就可以逐一实现。
27.MIC(咪头)
这是开发板的板载录音输入口(MIC),该咪头直接接到VS的输入上,可以用来实现
录音功能。
28.录音输入接口
这是开发板板载的外部录音输入接口(LINE_IN),通过咪头我们只能实现单声道的录音,
而通过这个LINE_IN,我们可以实现立体声录音。
29.耳机输出接口
这是开发板板载的音频输出接口(PHONE),该接口可以插3.5mm的耳机,当VS放
音的时候,就可以通过在该接口插入耳机,欣赏音乐。
30.ATK模块接口
这是开发板板载的一个ALIENTEK通用模块接口(U5),目前可以支持ALIENTEK开发
的GPS模块、蓝牙模块和MPU模块等,直接插上对应的模块,就可以进行开发。后续我
们将开发更多兼容该接口的其他模块,实现更强大的扩展性能。
31.RS/模块选择接口
这是开发板板载的一个RS(COM3)/ATK模块接口(U5)选择接口(P8),通过该选
择接口,我们可以选择STM32的串口3连接在COM3还是连接在ATK模块接口上面,以实现
不同的应用需求。这样的设计还有一个好处,就是我们的开发板还可以充当RS到TTL串
口的转换(注意,这里的TTL高电平是3.3V)。
32.3.3V电源输入/输出
这是开发板板载的一组3.3V电源输入输出排针(2*3)(VOUT1),用于给外部提供3.3V
的电源,也可以用于从外部接3.3V的电源给板子供电。
大家在实验的时候可能经常会为没有3.3V电源而苦恼不已,有了ALIENTEK战舰
STM32F,你就可以很方便的拥有一个简单的3.3V电源(USB供电的时候,最大电流不能
超过mA,外部供电的时候,最大可达0mA)。
33.5V电源输入/输出
这是开发板板载的一组5V电源输入输出排针(2*3)(VOUT2),该排针用于给外部提供
5V的电源,也可以用于从外部接5V的电源给板子供电。
同样大家在实验的时候可能经常会为没有5V电源而苦恼不已,ALIENTEK充分考虑到了
大家需求,有了这组5V排针,你就可以很方便的拥有一个简单的5V电源(USB供电的时候,
最大电流不能超过mA,外部供电的时候,最大可达0mA)。
34.RS/选择接口
这是开发板板载的RS(COM2)/选择接口(P7),因为RS基本上就是一个半
双工的串口,为了节约IO,我们把RS(COM2)和RS共用一个串口,通过P7来设置
当前是使用RS(COM2)还是RS。这样的设计还有一个好处。就是我们的开发板既可
以充当RS到TTL串口的转换,又可以充当RS到TTL的转换。(注意,这里的TTL
高电平是3.3V)。
35.电源开关
这是开发板板载的电源开关(K2)。该开关用于控制整个开发板的供电,如果切断,则整
个开发板都将断电,电源指示灯(PWR)会随着此开关的状态而亮灭。
36.DC6~24V电源输入
这是开发板板载的一个外部电源输入口(DC_IN),采用标准的直流电源插座。开发板板载
了DC-DC芯片(MP),用于给开发板提供高效、稳定的5V电源。由于采用了DC-DC芯
片,所以开发板的供电范围十分宽,大家可以很方便的找到合适的电源(只要输出范围在
DC6~24V的基本都可以)来给开发板供电。在耗电比较大的情况下,比如用到4.3屏/7寸屏/
网口的时候,建议使用外部电源供电,可以提供足够的电流给开发板使用。
37.RS总线接口
这是开发板板载的RS总线接口(RS),通过2个端口和外部设备连接。这里提
醒大家,RS通信的时候,必须A接A,B接B。否则可能通信不正常!另外,开发板自带
了终端电阻(Ω)。
38.以太网接口(RJ45)
这是开发板板载的网口(EARTHNET),可以用来连接网线,实现网络通信功能。该接口
使用DM作为网络芯片,该芯片自带MAC和PHY,支持10M/M网络,通过并
口同STM32F的FSMC接口连接。
39.RS接口(母)
这是开发板板载的一个RS接口(COM2),通过一个标准的DB9母头和外部的串口连
接。通过这个接口,我们可以连接带有串口的电脑或者其他设备,实现串口通信。
40.LCD接口
这是开发板板载的LCD模块接口,该接口兼容ALIENTEK全系列TFTLCD模块,包括:
2.4寸、2.8寸、3.5寸、4.3寸和7寸等TFTLCD模块,并且支持电阻/电容触摸功能。
41.XM8A168MSRAM
这是开发板外扩的SRAM芯(U1)片,容量为8M位,也就是1M字节,这样,对大内存
需求的应用(比如GUI),就可以很好的实现了
42.JOYPAD/RS选择开关
这是开发板板载的一个游戏手柄接口(JOYPAD)和RS接口选择开关(K1),开发板
的游戏手柄接口和RS接口共用COM3,它们需要分时复用。当插游戏手柄时,K1需要打
在JOYPAD位置,此时,该接口(COM3)可以用来连接FC手柄(红白机/小霸王游戏机手柄),
这样大家可以在开发板上编写游戏程序,直接通过手柄玩游戏。当作为串口使用时,K1需要打
在RS位置。
43.JOYPAD/RS接口(公)
这是开发板板载的一个游戏手柄/RS接口(COM3),通过一个标准的DB9公头和外部
的FC手柄/RS串口连接。具体用作接游戏手柄接口还是RS接口,可通过K1开关进行
选择。
44.CAN接口
这是开发板板载的CAN总线接口(CAN),通过2个端口和外部CAN总线连接,即CANH
和CANL。这里提醒大家:CAN通信的时候,必须CANH接CANH,CANL接CANL,否则
可能通信不正常!
1.2.2软件资源说明
上面我们详细介绍了ALIENTEK战舰STM32F开发板的硬件资源。接下来,我们将向
大家简要介绍一下战舰STM32F开发板的软件资源。
战舰STM32F开发板提供的标准例程多达54个,一般的STM32开发板仅提供库函数
代码,而我们则提供寄存器、库函数、HAL库三个版本的代码(本手册以HAL库版本作为介
绍)。我们提供的这些例程,基本都是原创,拥有非常详细的注释,代码风格统一、循序渐进,
非常适合初学者入门。而其他开发板的例程,大都是来自ST库函数的直接修改,注释也比较
少,对初学者来说不那么容易入门。
战舰STM32F的例程列表如表1.2.2.1所示:
链接下图表1.2.2.1ALIENTEK战舰STM32F从上表可以看出,ALIENTEK战舰STM32F的例程基本上涵盖了STM32FZET6的
所有内部资源,并且外扩展了很多有价值的例程,比如:FLASH模拟EEPROM实验、USMART
调试实验、ucosii实验、内存管理实验、IAP实验、拼音输入法实验、手写识别实验、综合测试
实验等。
而且从上表可以看出,例程安排是循序渐进的,首先从最基础的跑马灯开始,然后一步步
深入,从简单到复杂,有利于大家的学习和掌握。所以,ALIENTEK战舰STM32F开发板
是非常适合初学者的。当然,对于想深入了解STM32内部资源的朋友,ALIENTEK战舰
STM32F也绝对是一个不错的选择。
1.2.3战舰V3IO引脚分配
为了让大家更快更好的使用我们的战舰V3开发板,这里特地将战舰V3开发板主芯片:
STM32FZET6的IO资源分配做了一个总表,以便大家查阅。战舰V3的IO引脚分配总表
如表:1.2.3.1所示:
链接下图链接下图链接下图链接下图链接下图链接下图链接下图表1.2.3.1战舰V3IO资源分配总表表1.2.3.1中,引脚栏即STM32FZET6的引脚编号;GPIO栏则表示GPIO;连接资源栏
表示了对应GPIO所连接到的网络;独立栏,表示该IO是否可以完全独立(不接其他任何外设
和上下拉电阻)使用,通过一定的方法,可以达到完全独立使用该IO,Y表示可做独立IO,N
表示不可做独立IO;连接关系栏,则对每个IO的连接做了简单的介绍。
该表在:光盘→3,ALIENTEK战舰STM32F1V3开发板原理图文件夹下有提供Excel格
式,并注有详细说明和使用建议,大家可以打开该表格的Excel版本,详细查看。
1.3ALIENTEK战舰STM32V3.0升级说明
ALIENTEK战舰STM32V3.0开发板相对于过往版本,主要变化如表1.3.1所示:
链接下图表1.3.1V3.0版本VS过往版本硬件变从表1.3.1可以看出,战舰STM32F开发板V3版本在之前版本的基础上进行了较大的改
动,前16项是硬件删减改动,17~22是对硬件的精简和改进设计,其余项目是IO引脚的改动
和变更。
硬件删减改动方面:SPIFLASH换成了W25Q,容量为16M字节,比原来大了一倍。另外,
新增了10/M自适应以太网、光敏传感器、扬声器、亚克力保护板等,同时,去掉了PS2接
口、FM收发功能,3D重力传感器等不常用的接口和功能,SD采用兼容性更好的SDIO方式驱动。
硬件精简改进方面:对某些多余的接口进行了精简,另外,直流电压输入范围、丝印标注
等方面进行了改善加强,使用更加方便。
线路变更方面:根据硬件的改动,做了二十多项改变,详见表1.3.1。