第一章 实验平台简介 本章,主要向大家简要介绍我们的实验平台:ALIENTEK战舰STM32开发板。通过本章的学习,你将对我们后面使用的实验平台有个大概了解,为后面的学习做铺垫。 本章将分为如下两节: 1.1,ALIENTEK战舰STM32开发板资源初探; 1.2,ALIENTEK战舰STM32开发板资源说明; 1.1 ALIENTEK战舰STM32开发板资源初探 在ALIENTEK 战舰STM32开发板之前,ALIENTEK推出过MiniSTM32开发板,在两年的时间里面,售出8000多套,连续一年多稳居淘宝STM32开发板销量之首。而这款战舰STM32开发板,则是MiniSTM32开发板的超级加强版。下面我们开始介绍战舰STM32开发板。 ALIENTEK战舰STM32开发板的资源图如图1.1.1所示: 图1.1.1 战舰STM32 开发板资源图 从图1.1.1可以看出,ALIENTEK战舰STM32开发板,资源十分丰富,并把STM32F103的内部资源发挥到了极致,基本所有STM32F103的内部资源,都可以在此开发板上验证,同时扩充丰富的接口和功能模块,整个开发板显得十分大气。 开发板的外形尺寸为11.2cm*15.6cm大小,板子的设计充分考虑了人性化设计,并结合广大客户对Mini板提出的改进意见,经过反复修改(在面市之前,硬件就改版了8次之多,目前最新版本为V2.0),最终确了定这样的设计。 ALIENTEK战舰STM32开发板板载资源如下:
1) 接口丰富。板子提供十来种标准接口,可以方便的进行各种外设的实验和开发。 2) 设计灵活。板上很多资源都可以灵活配置,以满足不同条件下的使用。我们引出了除晶振占用的IO口外的所有IO口,可以极大的方便大家扩展及使用。另外板载一键下载功能,可避免频繁设置B0、B1的麻烦,仅通过1根USB线即可实现STM32的开发。 3) 资源充足。外扩1M字节SRAM和8M字节FLASH,满足大内存需求和大数据存储。板载MP3和FM收发芯片,娱乐学习两不误。板载3D加速度传感器和各种接口芯片,满足各种应用需求。 4) 人性化设计。各个接口都有丝印标注,使用起来一目了然;接口位置设计安排合理,方便顺手。资源搭配合理,物尽其用。 1.2 ALIENTEK战舰STM32开发板资源说明 资源说明部分,我们将分为两个部分说明:硬件资源说明和软件资源说明。 1.2.1硬件资源说明 这里我们首先详细介绍战舰STM32开发板的各个部分(图1.1.1中的标注部分)的硬件资源,我们将按逆时针的顺序依次介绍。
4. 引出IO口 这里是一组54个IO口的引出(P5),在它的右侧不远,是另外一组54个IO口的引出(P4),这两组排针引出108个IO,而STM32F103ZET6总共只有112个IO,除去RTC晶振占用的2个IO,还剩下PA9和PA10没有在这里引出(由P6引出)。
用标准的JTAG调试,需要占用5个IO口,有些时候,可能造成IO口不够用,而用SWD则只需要2个IO口,大大节约了IO数量,但他们达到的效果是一样的,所以我们强烈建议你的仿真器使用SWD模式!
设计成USB串口,是出于现在电脑上串口正在消失,尤其是笔记本,几乎清一色的没有串口。所以板载了USB串口可以方便大家下载代码和调试。而在板子上并没有直接连接在一起,则是出于使用方便的考虑。这样设计,你可以把ALIENTEK战舰STM32开发板当成一个USB串口,来和其他板子通信,而其他板子的串口,也可以方便地接到ALIENTEK战舰STM32开发板上。
同时开发板可以通过此MiniUSB头供电,板载两个MiniUSB头(不共用),主要是考虑了使用的方便性,以及可以给板子提供更大的电流(两个USB都接上)这两个因素。 10. 后备电池接口 这是STM32后备区域的供电接口,可以用来给STM32的后备区域提供能量,在外部电源断电的时候,维持后备区域数据的存储,以及RTC的运行。
13. 有源蜂鸣器 这是开发板的板载蜂鸣器(BEEP),可以实现简单的报警/闹铃。让开发板可以听得见。 14. 红外接收头 这是开发板的红外接收头(U14),可以实现红外遥控功能,通过这个接收头,可以接受市面常见的各种遥控器的红外信号,大家甚至可以自己实现万能红外解码。当然,如果应用得当,该接收头也可以用来传输数据。 战舰STM32开发板给大家配备了一个小巧的红外遥控器,该遥控器外观如图1.2.1.1所示: 图 1.2.1.1 红外遥控器
我们一般的应用2个LED足够了,在调试代码的时候,使用LED来指示程序状态,是非常不错的一个辅助调试方法。战舰STM32开发板几乎每个实例都使用了LED来指示程序的运行状态。 3. 启动选择端口 这是开发板板载的启动模式选择端口(BOOT),STM32有BOOT0(B0)和BOOT1(B1)两个启动选择引脚,用于选择复位后STM32的启动模式,作为开发板,这两个是必须的。在开发板上,我们通过跳线帽选择STM32的启动模式。关于启动模式的说明,请看2.1.8小节。 4. 复位按钮 这是开发板板载的复位按键(RESET),用于复位STM32,还具有复位液晶的功能,因为液晶模块的复位引脚和STM32的复位引脚是连接在一起的,当按下该键的时候,STM32和液晶一并被复位。 5. 参考电压选择端口 这是STM32的参考电压选择端口(P7),我们默认是接开发板的3.3V和GND。如果大家想设置其他参考电压,只需要把你的参考电压源接到REF-和REF+上即可。
其他3个是普通按键,可以用于人机交互的输入,这3个按键是直接连接在STM32的IO口上的。这里注意WK_UP是高电平有效,而KEY0、KEY1和KEY2是低电平有效,大家在使用的时候留意一下。 7. 触摸按钮 这是开发板板载的一个电容触摸输入按键(TPAD),用于实现触摸按键。现在触摸按键非常流行,所以我们在开发板上也设计了一个,咱得跟上时代的步伐。 8. 电源指示灯 这是开发板板载的一颗蓝色的LED灯(PWR),用于指示电源状态。在电源开启的时候(通过板上的电源开关控制),该灯会亮,否则不亮。通过这个LED,可以判断开发板的上电情况。 9. 多功能端口 这里大家可别小看这6个排针,这可是本开发板设计的很巧妙的一个端口(由P3和P14组成),这组端口通过组合可以实现的功能有:ADC采集、DAC输出、PWM DAC输出、外部音频输入、电容触摸按键、DAC音频、PWM DAC音频、DAC ADC自测等,所有这些,你只需要1个跳线帽的设置,就可以逐一实现。
11. 录音输入接口 这 是开发板板载的外部录音输入接口(LINE_IN),通过咪头我们只能实现单声道的录音,而通过这个LINE_IN,我们可以实现立体声录音。
13. 耳机输出接口 这是开发板板载的音频输出接口(PHONE),战舰STM32开发板有多个音频输出(VS1053/收音机/PWM DAC等),通过74HC4052实现音频选择,输入到TDA1308,再输出到该音频输出口,实现开发板的音频输出。
大家在实验的时候可能经常会为没有5V电源而苦恼不已,有了ALIENTEK战舰STM32开发板,你就可以很方便的拥有一个简单的5V电源(最大电流不能超过500ma)。
同样大家在实验的时候可能经常会为没有3.3V电源而苦恼不已,ALIENTEK充分考虑到了大家需求,有了这组3.3V排针,你就可以很方便的拥有一个简单的3.3V电源(最大电流不能超过500ma)。
18. 电源开关 这是开发板板载的电源开关(K1)。该开关用于控制整个开发板的供电,如果切断,则整个开发板都将断电,电源指示灯(PWR)会随着此开关的状态而亮灭。
通过PS/2口,我们仅仅需要2个IO口,就可以扩展一个键盘,所以大家不必要对板上只有4个按键而感到担忧。ALIENTEK提供了标准的鼠标驱动例程,方便大家学习PS/2协议。 26. 游戏手柄接口 这是开发板板载的一个9针游戏手柄接口(JOY_PAD),可以用来连接FC手柄(红白机/小霸王游戏机手柄),这样大家可以在开发板上编写游戏程序,直接通过手柄玩游戏了。我们的综合实验提供有一个简单的NES模拟器,大家可以直接从网上下载nes游戏,放到开发板上玩。
1.2.2软件资源说明 上面我们详细介绍了ALIENTEK战舰STM32开发板的硬件资源。接下来,我们将向大家简要介绍一下战舰STM32开发板的软件资源。 战舰STM32开发板提供的标准例程多达57个,一般的STM32开发板仅提供库函数代码,而我们则提供寄存器和库函数两个版本的代码(本指南以寄存器版本作为介绍)。我们提供的这些例程,基本都是原创,拥有非常详细的注释,代码风格统一、循序渐进,非常适合初学者入门。而其他开发板的例程,大都是来自ST库函数的直接修改,注释也比较少,对初学者来说不那么容易入门。 战舰STM32开发板的例程列表如表1.2.2.1所示: 表1.2.2.1 ALIENTEK战舰STM32开发板例程表 从上表可以看出,ALIENTEK战舰STM32开发板的例程基本上涵盖了STM32F103ZET6的所有内部资源,并且外扩展了很多有价值的例程,比如:FLASH模拟EEPROM实验、IAP实验、拼音输入法实验、手写识别实验、综合实验等。 而且从上表可以看出,例程安排是循序渐进的,首先从最基础的跑马灯开始,然后一步步深入,从简单到复杂,有利于大家的学习和掌握。所以,ALIENTEK战舰STM32开发板是非常适合初学者的。当然,对于想深入了解STM32内部资源的朋友,ALIENTEK战舰STM32开发板也绝对是一个不错的选择。 这里特别说明一下战舰系统综合实验,这个实验使得ALIENTEK战舰STM32开发板更像一个产品,而不单单是一个开发板了,它拥有目前市面上所有开发板中最复杂,最强大的功能,可玩性极高,它的实现,充分向大家展示了ALIENTEK战舰开发板的优势,同时也证明了STM32的强悍性能。解决了一部分人,STM32能干啥的顾虑。 |