目录
前言:
龙芯 1B 开发学习套件学习过程与步骤:
(1)龙芯 1B 开发版 (本文)-》
(2)SOC 龙芯1B芯片手册 =》
(3)LS232 MIP32 CPU内核 =》
(4)MIP32汇编语言 =》
(5)龙芯 1 系列芯片的IDE集成开发环境 =》
(6)裸机启动 =》
(7)裸机应用程序 =》
(8)轻量级实时嵌入式操作系统 =》
(9)驱动程序 =》
(10)应用程序
一、龙芯 1B 开发学习套件简介
1.1 概述
龙芯 1B 芯片是龙芯中科技术股份有限公司研发的 SoC 芯片,具有完全意义上的自主知识产权。 该芯片使用 LS232 内核,全兼容 MIPS32 指令集,片内集成了丰富的外围设备,芯片按照工业级标 准生产,具有高性能、低功耗、完全自主可控的优势。芯片的详细技术参数请参阅《龙芯 1B 处理 器用户手册》。 LoongIDE 是专用于龙芯 1 系列芯片的集成开发环境,旨在为龙芯 1 系列芯片提供一个简单易 用、稳定可靠、符合工业标准的嵌入式开发解决方案,帮助用户在龙芯嵌入式应用开发中缩短开发 周期、简化开发难度,助力工控行业的国产化进程。LoongIDE 的使用请参阅《龙芯 1x 嵌入式集成 开发环境使用说明书》。 “龙芯 1B 开发学习套件” 基于龙芯 1B 芯片设计,通过 LoongIDE 实现龙芯 1B 芯片的裸机 /RTOS(RTThread/uCOS/FreeRTOS/RTEMS)项目的编程、编译和在线调试,方便用户学习和掌握 龙芯 1B 芯片的开发流程,模拟和实现各种自动化、工业控制、数据采集、物联传感等应用场景, 从而推动龙芯 1 系列芯片在工控行业的国产化应用。
二、龙芯1B 200开发板硬件组成与接口介绍
2.1 概述
龙芯1B开发板是一个基于中国自主研发的龙芯处理器的开发板。龙芯处理器是中国自主研发的一系列具有自主知识产权的高性能处理器。
龙芯1B开发板采用了龙芯系列1的处理器,它是一种基于MIPS架构的处理器。这个开发板提供了丰富的接口和扩展槽,例如USB接口、以太网接口、UART串口、SD卡扩展槽等,以支持各种外设的连接和扩展。
龙芯1B开发板被广泛应用于教育、研究和嵌入式系统开发领域。通过使用这个开发板,开发者可以学习和开发基于龙芯处理器的软件和硬件系统,探索和推动中国自主处理器技术的发展。
本文采用龙芯的合作伙伴:苏州天晟软件提供的开发板:
龙芯嵌入式开发工具|Loongson Embedded Developmen…|关于我们|龙芯嵌入式开发工具|苏州天晟软件|ide|loongarch (loongide.com)
2.2 核心板
2.2.1 CPU
龙芯1B CPU(Central Processing Unit)指的是龙芯系列处理器中的一款特定处理器。龙芯1B CPU是基于MIPS32架构设计的处理器。龙芯 1B 芯片是基于 GS232 处理器核的片上系统,具有高性价比,可广泛应用于工业控 制、家庭网关、信息家电、医疗器械和安全应用等领域。1B 采用 Wire Bond BGA256 封装。
龙芯1B CPU由中国自主研发的龙芯科技有限公司(Loongson Technology Corporation)制造。它采用了64位指令集,并且具有自主的体系结构设计。龙芯1B CPU具备较高的性能和能效,并且在操作系统、编译器和相关工具方面提供了兼容性和支持。
龙芯1B CPU主要应用于嵌入式系统等领域。它的设计目标是提供高性能、可靠性和安全性,并且支持广泛的应用场景。龙芯1B CPU在中国国内得到广泛应用,尤其在政府、科研机构和高校的计算机系统中有较大的影响力。
需要注意的是,龙芯1B CPU是龙芯系列处理器中的一款特定产品,其具体技术规格和性能特点可能随时间推移而有所变化,建议您在购买前查阅最新的产品信息和规格表。
2.2.2 什么是核心板
核心板(Core board)通常是指嵌入式系统中的一块主板,它包含了处理器、内存、存储和一些基本的输入输出接口,用于构建更复杂的嵌入式系统。
核心板属于嵌入式系统的核心组成部分,它提供了计算和控制的基础功能。通常,核心板上的处理器是系统的主要计算中心,决定了系统的性能和功能。内存和存储则用于存储和访问数据和程序。同时,核心板上的各种接口(如UART、Ethernet、USB等)可以用于与外部设备进行通信和连接。
核心板的设计旨在方便嵌入式系统的开发和扩展。通过将核心板与其他附加板、外围设备或模块进行连接,可以构建出具有特定功能的嵌入式系统,如工控系统、智能家居系统、机器人等。
需要注意的是,不同的核心板可能采用不同的架构和接口标准,因此在选择和使用核心板时,需要根据具体的应用需求和系统架构来进行选择。同时,为了确保系统的兼容性和稳定性,建议参考核心板制造商提供的文档和技术规格进行操作和开发。
2.2.3 龙芯1B 200核心板
Molex接口是一种常见的电子连接器接口,由Molex公司开发和生产。Molex是一家知名的电子连接器制造商,提供各种类型的连接器和电缆组件。
Molex接口通常用于电子设备和电路板之间的连接,提供了可靠的电力和信号传输。这些接口可以用于数据通信、电源连接、传感器连接等应用。Molex接口具有多种型号和标准,包括2.54mm、3.96mm、4.2mm和USB等。
Molex接口通常由两个部分组成:插头和插座。插头通常是用金属针脚或插针组成,与设备的插座相匹配。插座则通常是由金属插槽组成,与插头配对,提供电力和信号传输。Molex接口通常具有可插拔和可锁定的特性,确保连接的稳固性和安全性。
Molex接口被广泛应用于多种电子设备和行业,包括计算机、汽车、航空航天、通信等。无论是消费电子产品、工业设备还是汽车电子系统,您都可能会在其中找到Molex接口的身影。
最后,需要注意的是,不同型号的Molex接口可能具有不同的技术规格和电器特性。如果您对特定的Molex接口型号或规格有更多的需求,建议查阅Molex公司的官方文档或与他们联系以获取准确的信息。
2.2.4 龙芯1B核心板的接口定义
(1)J4: 高速总线(以太网和USB)
- MDIO/MDC:以太网管理接口
- TX[0:3]:以太网数据发送接口
- RX[0:3]:以太网数据接收接口
- TX_EN:以太网发送使能
- RX_EN: 以太网接收使能
- TX_CLK:以太网发送时钟
- RX_CLK: 以太网接收时钟
- USB-、USB+: USB接口
- reset:系统复位和手工复位信号
(2)J2:LCD接口
- PWM[0:3]: PWM接口
- LCD_xxx:LCD显示屏接口
(3)J3:低速总线(UART、CAN、I2C、SPI)
- UART_xxx:URAT串口总线接口,一共有4个UART总线
- CAN_xxx:CAN总线通信接口,一共有2个CAN总线
- I2C总线:可用于访问ADC和DAC控制器
- SPI总线
- TRST, TMS:编程接口
(4)J1:多路复用
- UART总线(复用)
- 以太网总线 (复用)
- AC音频控制器接口
2.3 开发板
2.3.1 龙芯1B0200开发板
2.3.2 龙芯1C300B开发板
2.4 开发板接口详解
1、电源和开关
备注:
6V DC电源输入
2、ADC输入(4路模拟输入)和 DAC(1路模拟输出)
备注:
(1)核心板通过I2C总线读取ADC芯片和DAC芯片
(2)ADS1015
ADS1015是德州仪器(Texas Instruments)推出的一款高精度、低功耗的模数转换器(ADC)芯片。该芯片具有12位精度,适用于模拟信号转换为数字信号的应用。
ADS1015具有4个单端输入通道或2个差分输入通道,可以测量范围从-2.048V到+2.048V,还具有内部参考电压和多种增益选项,以适应不同的测量需求。该芯片通过I2C总线与主控器件进行通信,可以方便地与各种微控制器、单片机和处理器进行连接。
ADS1015具有低功耗特性,电流消耗非常低,适用于需要长时间运行并且电源有限的应用场景。它还具有内部比较器,可以用于触发中断或自动检测信号的变化。
ADS1015被广泛应用于各种测量和数据采集系统,包括温度传感器、压力传感器、光照传感器等。通过将模拟传感器的输出连接到ADS1015的输入通道,可以将模拟信号转换为数字数据,从而实现对环境变量的精确测量和监控。
如果您计划在项目中使用ADS1015芯片,建议查阅德州仪器官方网站的技术资料和手册,以了解更多有关芯片的详细信息和使用方法。
(3)AC 芯片:MCP4725
MCP4725是Microchip Technology(微芯科技)推出的一款12位分辨率的数字模拟转换器(DAC)芯片。它广泛应用于需要将数字信号转换为模拟电压输出的应用中。
MCP4725采用I2C总线通信协议,可与各种微控制器、单片机和处理器进行连接。它具有单通道输出,可以输出0V至VREF(这里是3.3V参考电压)之间的模拟电压。MCP4725具有内部EEPROM存储器,可以存储配置和输出寄存器的值,以便在断电后保持设置。
MCP4725芯片具有低功耗和高精度的特性,适用于需要精确和可靠的模拟输出的应用。通过适当配置和编程,可以实现精确的电压输出,如控制电位器、电压调节器、放大器增益等。
MCP4725广泛应用于各种领域,包括工业自动化、仪器仪表、音频系统等。它通常用于控制电压源、生成波形信号、模拟控制等应用。
如果您计划在项目中使用MCP4725芯片,建议查阅Microchip Technology官方网站的技术文档和手册,以获取更详细的信息和使用指南。
3、RS232串口和485串口
RS232串口和RS485串口都是常见的串行通信接口标准,用于在计算机和其他设备之间进行数据传输。
RS232串口是一种较为传统的串口标准,在过去的计算机和通信设备中广泛使用。它使用一对用于发送和接收数据的信号线,包括数据线、控制线和地线。RS232串口通常使用DB9或DB25连接器,并且是基于单端信号传输的,适用于较短的通信距离(通常约为50英尺/15米)。
RS232串口具有较低的工作速度和较大的电压范围(±5V至±15V),具有抗干扰能力较强的特点。它广泛应用于计算机串口、调制解调器、打印机、工业自动化等领域。
RS485串口是一种更先进的串口标准,较RS232串口在一些方面有所改进。它使用了多态信号传输,可实现多个设备共享同一条总线,并能够支持更长的通信距离(最多约4000英尺/1200米)。RS485串口通常使用双线(A线和B线)或四线(A线、B线、地线和数据方向控制线)连接。
RS485串口具有更高的工作速度和较小的电压范围(通常为±0.5V至±6V)。它能够在工业环境中提供可靠的通信,并具有较强的抗干扰和抗噪声能力。RS485串口广泛应用于工业自动化、报警系统、远程监控等领域,特别适用于需要在远距离传输数据的应用。
需要注意的是,RS232和RS485是不兼容的接口标准,它们使用不同的电压和信号传输方式。如果要在RS232和RS485之间进行通信,通常需要使用专门的转换器或适配器来实现信号的转换和交互。
4、Debug 调试接口
开发板自带了EJTAG调试器,因此,直接通过USB连接主机即可。
5、CAN总线接口
CAN总线是一个用于在汽车、工业控制系统和其他领域中进行通信的串行通信协议和物理介质。它是控制器局域网络(Controller Area Network)的缩写。
CAN总线具有以下特点:
-
高可靠性:CAN总线使用差分信号传输,具有很高的抗干扰和抗噪声能力,可以在嘈杂的环境中稳定传输数据,因此适用于车辆等噪声环境下的应用。
-
实时性:CAN总线采用事件驱动型的通信机制,能够实现实时响应和快速传输数据。它使用了优先级控制和非冲突的访问机制,以确保高优先级数据的及时传输。
-
多点通信:CAN总线支持多个节点(例如传感器、执行器、控制器等)在同一条总线上进行通信。节点可以同时发送和接收数据,形成一个分布式的通信网络。
-
数据帧结构:CAN总线使用基于帧的数据结构,其中包含标识符、数据域、控制位等字段。数据帧被拆分为数据段、CRC段和结束段进行传输和校验。
-
灵活性:CAN总线支持多种通信速率,从几千bps到几百kbps不等,适应不同应用场景的需求。此外,它也支持数据长度的可变性和扩展帧的使用。
CAN总线已成为许多领域中常用的通信协议,特别是在汽车行业中。它广泛用于汽车电子控制单元(ECU)、车身电子系统、引擎控制系统、传感器和执行器之间的通信。此外,CAN总线也被用于工业自动化、航空航天和医疗设备等领域。
6、DC 插座
7、FPC LCD 接口
注:
1B 芯片的 SPI0_CS1 用于触摸屏控制芯片 XPT2046(LCD 转接板上);
LCD 亮度由 I2C 接口芯片 GP7101‐100HZ 输出 PWM 进行控制;
XPT2046 产生的触摸中断,输入 1B 芯片的 GPIO54(UART2_RX)端口。
当断开触摸屏物理连接时,可以复用DC 插座上的相应信号线。
三、连接开发板与主机
1. 连接电源(必选)
情形1:开发板使用6V的DC电源,则需要220V-》6V的电源适配器
情形2:开发板内部集成6VDC, 则直接使用220V电源线连接,打开开关即可。
2. 连接USB(必选)
使用min USB连接主机与开发板,USB口用于连接开发板自带的JTAG口,用于IDE下载编译后的程序,并非用于RS232调试串口。
如果与IDE连接,USB连接是必选的。
3. 连接RS232串口(可选)
UART5和UART4是预留的调试串口,用于开发板与上位机进行串口通信。
PMON或或操作系统或应用程序都可以通过串口与上位机进行交换。
RS232的默认配置:
- 波特率:115200
- 数据位:7bit
- 停止位:1bit
在开发板接上电源、连接好串口电缆后,打开电源,可以在串口控制台上看到:
开发板正在运行 PMON 的状态:
4. 连接以太网(可选)
以太网卡用于开发板PMON或RTOS或应用程序与上位机(IDE)进行通信。
IDE可以通过以太网口下载程序。
5. 连接显示屏LCD/触摸屏(必选)
LCD显示屏是独立于开发板的,需要单独连接。
LCD显示屏的作用是显示程序的执行过程,类似UART串口显示。
LCD显示屏是单向的,因此,只能用于内容显示,无法进行双向交互!!!
显示的内容如下:
备注:
至此,开发板与上位机的所有硬件连接准备就绪,紧接着就可以在主机端安装IDE开发环境,进行软件的开发与调试!!!