一款深藏功与名的国产单片机——F1C100A
说到单片机,可能首先想到的是atmel的at89c52,这多亏了大学教材的传承发扬。从我们的老师的老师,用到我们,说是大学的传家宝都不夸张。然后,就是现在大规模流行的STM32单片机,经过ST每个季度的峰会和国内的野火、正点原子等厂商的大力推广,电子专业从业的工程师只有两种人不知道它,那么是特别牛逼的,要么是装逼的。但这里要说的是一款国产的单片机,很低调的一款------全志的F1C100A。
F1C100A
1、资源
从这款IC的数据框图来看,粗略的可以得到几个点:
A、支持高清解码,分辨率为1920*1080。这是个什么概念呢?咱们可以打开笔记本电脑,如果是win10系统,那么咱们的最高分辨率就是这个。
但是,不仅仅是解码,它还支持编码,也就是可以录像,分辨率为1280*720。虽然不是专业的录像机IC,但这个分辨率也很实在了,已经有点那会彩电的感觉了。对比STM32F1系列的单片机,虽然也能图形处理 ,但也只基于静态界面。
B、作为单片机,USB、SPI、Timer、TWI(就是平常的IIC)都是有的,而且还有IIS接口,可以接个话筒,这个功能不是低端应用的单片机能有的。不过STM32F1系列的MCU,这些外设都有。
C、cpu已经具有了I-cache和D-cache,本身来说这两者有一定的区别,但是这里都看做cache来说,都是SRAM。因为CPU从这个里面读数据特别快,所以将它作为DRAM到CPU的一个仓库。
既然有了SRAM那么DDR的控制是肯定不会少了,不然怎么跑Linux系统。说到Linux系统,STM32H7系列也是可以跑Linux。
说了这么多,咱们来看看价格 全新原装解码芯片 F1C100A C100A (带A)TQFP128------9.50元 、STM32F103C8T6 LQFP48 ARM芯片 嵌入式微控制器------7.50元 、STM32H743VIT6 LQFP100 ARM 32位微控制器芯片原装正品------58.95元 。
这个IC价格完全可以在30元以内跑起最小开发系统板,自己打板子的那种。
F1C100A的系统框图
2、资料
既然这IC支持Linux系统,那么有没有开源社区在做开发呢。是的,还真有那就是荔枝派Nano 。荔枝派Nano的主芯片—全志F1C100s;Arm9架构,16KB D-Cache,32KB I-Cache,支持从SPI Flash或TF卡启动,支持USB OTG载入更新。官方的宣传更加厉害,9.9元起,这个核心板就是一块STM32F1ZET6的价格。那么,我们来看看这个9.9元买到的板子怎么入门。
荔枝派nano
因为是开源社区,所以板子的基本操作官网(http://nano.lichee.pro/)都有,其中包括系统适配篇、驱动开发篇、应用开发篇。依靠这些资料进不了华为,进不了阿里,但是入门个Linux应该是可以的。高级不高级不知道,但是价格亲民哪,9.9元入门Lniux 。
荔枝派官网
3、应用
学习的目的不是学习,而是应用,不然谁知道学得怎么样。接下来介绍一款应用,各位绝对见过,只是没有细究------看戏机。
第一张图是看戏机的背面,标明了输入电压和输出功率。为什么还有个输出功率呢,外接喇叭的,或许是为了可以大家一块听戏。
背面
第二张图是看戏机的正面,两边按钮,中间屏幕,有点游戏手柄的感觉。看这画质,是不是能够感受到这满满的年代感。
正面
最后一张图,咱们来看看内部电路,能够看到USB接口、miniusb接口、耳机输出接口,最明显的就是F1C100A和海力士的内存了。
主控IC
这个设计不能说是复杂,但是很精巧,确实不浮夸。
最后的话:
看到这些,是不是有种用F1C100A玩Linux的感觉了。
全中文注释,让单片机开发和Arduino一样高效
大家好,我是马建仓。
无论你是一个单片机新手,或者是一位电子 DIY 的爱好者,还是说是对嵌入式开发感兴趣的工程师,今天这个开源项目值得你看下去。
ECBM 是什么?
ECBM,是基于 STC8 单片机的外设函数库,同时它也是“Everything Can Be Module(一切都可以模块化)”的简称。
项目地址: https://gitee.com/jackchio/ecbm_library
开源许可证: MIT
项目作者奈特曾在自己的个人平台上说过,他认为无论软件、硬件都可以模块化,且只需要造一次轮子 。2017年起,他根据模块化的设计理念,提出建立一个模块的软+硬产品,如果某日想要判定“今天家里为何很闷”时,可以根据湿度模块+ CO2 模块+主控分析原因。
此后,作者学习了各个单片机大厂的官方库,理解软件的程序结构,选取合适的载体。经过实践,作者发现单片机官方库一般可分为两类:一类是是由 DIY 爱好者编写简单封装成函数 ,用到什么写什么,风格混乱易冲突,没有一个好的体系;另外一类则是由工程师编写的,虽然有很好的框架,但是由于英文注释、英文文档及复杂的文件结构和代码规则等让新手望而却步 。
抱着别的产品不符需求,就自己造轮子的想法,ECBM诞生了,经过几年的技术迭代,目前,该项目已经发行到 V3 版本,并收录收录入 Gitee星球 的项目推荐栏目,欢迎开发者同步关注。全中文注释,让单片机开发和Arduino一样高效
Gitee星球 是 Gitee 旗下的创新研究所 。在这里,我们收集整理了 Gitee 上高品质、有意思的开源项目,同时也挖掘 Gitee 项目作者的一手开源故事,邀请优秀的开发者们讲述自己的开源经历,举办有趣的开源活动。
特点
基于 C 语言,按统一风格编写具有 KEIL 特性,能够适用图形化编辑工具代码运行速度提升,大数据支持多器件复用,任意 IO 都可驱动全中文注释,符合国人习惯代码增加可剪裁,能装进型号更小的单片机当前支持 STC8 全系列单片机前期准备
使用之前需要确保软件、程序都下载安装完毕,具体链接可前往作者仓库下载:https://gitee.com/jackchio/ecbm_library
操作流程
新建
双击新建工程.bat,新建test工程
进入 ecbm_test 文件夹,打开 ecbm.uvproj,开始编程
注意: 在界面下输入英文或拼音,因Keil对中文支持度低,不建议在此出现中文字符
设计正确的单片机型号
STC8系列目前有F、A、G、H、C这几个系列,他们的8051寄存器都是一致的,但是扩展8051的功 能寄存器却是有所差别,因此单片机型号一定要设置正确,才能访问正确的寄存器。
方法: 在 Keil 左侧的 LIB_LIST 下找到 ecbm_reg.h,双击打开ecbm_reg.h。然后在窗口的左下角点 Configuration Wizard 标签进入图形化配置界面 。
为何是STC8单片机?
库要求要有通用性,为了保证通用性就不能为了运行速度而优化。这就要求使用一款运行速度快的51单片机。STC8在整型计算略低于stm32f030(同等运行频率下),在浮点计算中略高于stm32f030(也是同等运行频率下)。设置时钟参数
打开ecbm_core.h,进入图形化配置界面。在【单片机系统时钟】下的【单片机系统时钟设置】选择所需选项。
譬如: 作者使用的是 STC8A8K64D4 ,在 STC-ISP 中设置了 40MHz 的频率,由于超过了 30MHz 且我的应用是刷屏 一定需要高频率工作。所以我选择“内部高速时钟 HSI(自定义)”,先节省几百字节空间,然后填写频率 40000000。
如图所示:
文件结构
往期推荐
最近,CNCF云原生全景图收录了一个国产轻量级RPC框架
13岁初中生开源自创编辑器,网友:有被卷到,我真的会谢
都2022了,还要不要重复造轮子?
查看历史推荐的优质开源项目,欢迎开发者前往全中文注释,让单片机开发和Arduino一样高效 查看,同步关注 Gitee星球 ,一同学习高质量、好玩有趣的开源项目,探究技术大牛们都是怎么炼就的。
相关问答
请问什么是 单片机 ?[回答]单片机是单片微型计算机的简称,单片机与微型计算机都是由CPU、存储器和输入/输出接口等组成的,现在旺扬科技的小编为大家科普一下什么是单机片吧。...
rcc 单片机 中文是什么意思?单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中...
ti是什么意思 单片机 ?1."ti"是单片机的意思。2.单片机是一种集成电路芯片,具有微处理器、存储器和各种输入输出接口等功能,可以独立完成特定任务的计算机系统。它通常用于控制和...
单片机 是怎么通过pwm波来控制电机运转的,工作原理是什么?三、单片机PWM控制原理现在很多单片机都有PWM功能,一般情况下,单片机的PWM功能是通过定时器来实现的,在使用时,需要对定时器的寄存器进行PWM功能的设置。...现...
单片机 中特殊功能寄存器TCON和TMOD中文是什么意思?TCON:定时器/计数器控制寄存器可以通过设置此寄存器里面的相关位,让定时器开启或关闭(TR0、TR1,1:开启,0:关闭),可以在主程序中,通过查询其中的相关位...TCON...
keilc51如何从英文版变回中文版?keilc51从英文版变回中文版方法:1.首先打开软件,在软件界面的顶部菜单栏中找到“Edit”选项,我们点击该选项会出现一个下拉框。2.在下拉框中找到底部“C...
单片机 与计算机,芯片,集成电路有什么联系和区别?电路版/PCB版,等许多相关产品。MCU(Micro...再广义些讲还涉及所有的电子元件,像电阻,电容,电路版/PCB版,等许多相关产品。MCU(MicroControlUnit)中文名称为微...
plc编程和 单片机 编程分别是好不好一种工作情形,需要整天对着...PLC和单片机编程不一样,PLC是特殊的单片机,一般是电工习惯的梯形图编程,单片机是C之类有用(0)回复建议你去看看定位是学生机的笔记本,这样比较靠谱,联想和华...
STM8和8051孰优孰劣,大家倾向于如何选型?STM8和8051都是比较通用的八位单片机。STM8单片机由ST意法半导体所设计,8051单片机目前以国内的STC宏晶单片机为主,也包括很多51内核的单片机。从价格、片上资...
中国芯片起航,需要科技企业发布底层支持的中文编译器,支持吗?哎!小白,真不知道你到底是不是非计算机专业毕业的人!如果你没有学习过计算机相关课程,建议你去学习一下编译原理就会明白你的想法多么可笑!作为基础知识,科...