AGM的还可以。安路的,把你查得底朝天,最后要买芯片,还要求上门看项目情况。像求他们一样。
安路没用过,不评论。AGM我个人比较鄙视,直接套用Altera的工具链,节操不知道去哪了。
别跟xxx32比,好歹xxx32还不涉及专利侵权,Altera的比特流和IP是有知识产权的。一个是不讲究,另一个干脆就是侵权。
复旦微也是一比一克隆,你也买不到,这个是国家队搞的高端赛灵思克隆,不是民品。
紫光没用过,貌似做的是百kLUT级别的产品,我也用不到。
高云的产品我几乎每个产品线都用过,算是比较熟悉了。高管是Lattice出来的,核心架构和ECP3/5极其相似,外设和IP都是自研的。
趁下班时间画了一版,大家猜猜这是什么方案😏
https://whycan.com/files/members/1510/AQUA-Lite.png
这是要用PIO做USB PHY?也就是只能测FS/LS咯?
最近在CNX看到这个芯片的讨论,老外怀疑这个ARM版权是有问题的,可能涉及ARM中国和ARM总部之前的争议。这样,使用这个芯片会有版权风险或者以后涨价的风险。
大家怎么看?
版权?啥版权?要严格讲,中国没有合规的东西。你用的钢铁铝铜,哪个采矿工程研发和矿石处理流程是百分百正版?
只要从中国出去的东西都包含大量的盗版,有本事老外别买。之前老外不接受GD32,后来STM32涨价,老外像苍蝇看到屎一样都来了。
涨价是有可能的,但是中国人嘛,自有办法。PY被老外告了,PY官方涨价包含版费,第二天PY就把晶圆拿出去开个小号卖。
一个说不清道不明还花了钱的M0算啥,国产复杂一点的大芯片里面某个对外不开放的深度嵌入式核里面用盗版A7/A53的都有。
更有甚者,国家队搞的军用FPGA里面还有直接从台积电里面安排人偷出来的版图,改了改模拟IP,躲过黑IP检测算法,台积电一样给生产。
看代码编号,后面会陆续做性能裁剪去推P1-2-3?这颗国内竞品BL808还带wifi,考虑乐鑫一直在转型往国外发展,国外对标stm32FH7,竞争力就相当不错了?
国内确实恼火啊,各种拿着政府补贴的准国家队,国网,移动啥的都在搞多核RV神U,价格卷的私企根本玩不动。
深制程开发最贵的就是mask,国家队研发成本都是有补贴的,几百上千万的流片成本都是国家报销。
所以国家队都搞28nm,22nm这种先进工艺,时序和面积成本就不是私企搞的什么55nm,40nm能比的。
另外就是杰理这种高配低价,BSP不完善,但是代理商帮你移植的公司,你乐鑫陪客户搞好了,人家订单截胡了。
最后发现跟中国人做买卖怎么都算不过,不如去做国外了。
关于BL808,这个芯片我看有前途。ESP8266就是Sipeed团队搞火的(那时候是安信可,后来分家了),现在BL也在搞一样的模式。
关于H7,我没拿到P4,不好说,但是双核LX6干不过H7,最起码不搞汇编优化的话,光靠编译器优化是不行的。
LX6潜力很大,但是Tensilica在GCC上花的钱和ARM差好几个数量级。CPU设计不错,但是优化跟不上。RV应该能好一点。
Tensilica卖收费的编译器,最早是自研的,后来是改的LLVM,都是闭源的。GCC人家一开始就没当亲儿子。
至于乐鑫是怎么用单核80MHz跑WiFi SDR的,人家是手写的汇编,把各种优化都手工搞了,所以那玩意不开源,给你的是个.a文件。
@Blueskull
这个HAL版权纠纷能否展开讲讲?据我所知GD32没有HAL库,早期他们的标准库和STM32很像,现在的新库完全不像了。
至于管脚排列兼容,这个应该不构成侵权。
早期STM32的驱动库是开源但不自由的版权协议,用了STM32的驱动库就得配ST的芯片。GD宣传二进制兼容,就等于教唆用户使用盗版STM32驱动库。
当然GD也发现问题了,之前很多欧美客户找国内ODM,点名不用GD32,所以GD自己搞了自己的库,而且第三方的libopencm3也出来了。
后来STM32的驱动库改成自由版权协议了,应该就是为了让野鸡MCU打压GD的市场份额,和纵连横。
今天测试了一下py32f003L18S6的串口,发现这个芯片功耗控制的挺好的。因为是用usb功率计,粗略计算基本和手册一直一致。
https://whycan.com/files/members/1315/Screenshot2022-11-02002844.png
“数据基于考核结果”
这是赤裸裸地机翻英文手册中的“Data based on characterization, not 100% tested.”。
这帮人这么懒的吗?难道让工程师用人话写一遍这么难?
@Blueskull
感谢大佬科普外行纯好奇,我看这里的ch552核心图,
https://www.richis-lab.de/CH55x.htm
里面提到核心1.8x1.5mm。这芯片adc才8位,功能也简单。为啥面积比起1mm2大那么多?
CH552是180nm工艺,而且存储器是MTP,比flash的cell密度低,但是mask数少
@Blueskull
请教大神,“Mask开一套算2M人民币”,是说 200万元人民币吗?
就是说,做一套模具要 200万元。然后这套模具能用多少次?再者,55nm 的 12英寸晶圆,制造费用是 50000*0.15元 = 7500元?
是这样吗?
1. 是的,具体价格看你的金属布线层数以及mask shop报价,比如你找tsmc给你做mask就比找第三方贵
2. 无限次,但是mask分两种,MLM和full mask,MLM mask便宜,但是光刻成本高,适合中批量(以前,现在fab厂很少陪你玩MLM了,不缺订单),full mask贵,但是光刻成本低
3. 差不多,40nm到90nm价格差不多,都是一样的二代DUV机台,你可以按照0.25到0.3人民币每平方毫米算,14nm到28nm差不多0.4到0.5人民币,这是大陆fab价格,umc之流台湾二线fab要贵20%,tsmc要再贵20%,国外fab价格可能要翻几番了
上海好多MCU公司啊,很多都是低端MCU。我在想怎么养得活员工的,房价都十万了,坐标张江
还有很多利润呢。55nm工艺,如果模拟性能拉稀一点,ADC/OSC掺点水,这个MCU完全可以做到1个平方毫米以下,也就是一个十二寸片出来5w+颗。这么算成本才一毛五钱左右。封装编带再算五分钱,税钱找政府补助,那也就是两毛钱成本。
这玩意研发没啥成本,CPU一片授权费几分钱,其他模拟/存储IP加起来也就是几分钱,数字IP国产单片机大多数用的是盗版Synopsys的DesignWare,S也不管,反正买了人家的基础EDA他们就默许盗版高级EDA和IP了。
算上上面说的IP,实际上制造成本也就三毛钱。Mask开一套算2M人民币,如果能卖10M片,摊下来就是两毛钱,所以总成本就是五毛钱。在国内这种互相卷死对方的环境里面,17%毛利率已经算不错了,毕竟量大。找好几家大腿,每月每款KK级别出货不是梦。而且有些卷王,比如沁恒,CPU是自研的,NVM是自研的,那就完全没有IP成本,还能少一毛钱。
If you don't speak Chinese, just post in English. It's harder to guess what you meant after it has been translated improperly.
Now to your original question, put it simple, no. ARM cores are not only copyrighted, but have their instruction set patented, meaning no one can implement an ARM core until the instruction set patent has expired (and make money).
Also, ARM9 is not a small core. It takes a lot of logic resource to implement and a lot of human labor to optimize on a given FPGA architecture to a usable timing (after all people anticipate a few hundreds of MHz on an ARM9 core).
So put it simple, you only get FPGAs with hard core ARM9 (or any application class cores) IPs. You might find smaller cores like Cortex M0 or M1 in soft core form, but never something like ARM9.
HiFi4就是Xtensa加一些扩展,gcc-xtensa都支持,但是具体启用哪一个需要自己配置,魔改ESP32编译器就好。
国外大神已经通过crosstools-ng搞出来了。
Rev 4已更新,本版本增加了1个可变电压IO口和一个5V IO口,去掉了1个3.3V IO口,并去掉了动态更改5V IO方向的能力。
本版本5V IO方向可在烧录PMIC固件是更改,也可通过I2C在MCU里更改,该部分代码尚未实现。
本版本将LGA焊盘改为BGA焊盘以改善焊接良率及可靠性,同时微调RC器件参数以增强系统稳定性并减少贴片成本。
本版本增加了USB双缓冲和TCK恒定时钟输出功能,用以实现高速下载以及FPGA Flash编程(固件已实现,上位机尚未实现)。
本版本增加了VBUS分压器开关,因此VBUS分压电阻在不读取VBUS电压时不消耗功率,从而减少待机功耗。
本版本将上位机软件从Python移植至NodeJS(错误的决定,未来还会移植回Python),并重构了USB底层API。
https://github.com/blueskull/PicoGate
https://github.com/blueskull/CH552-JTAG
本坑已填,硬件除非有明显bug,否则不会更新。软件会继续添加功能。
同时,硬件开新坑,基于ESP8685的无线GW1NZ核心板,板载ESP的所有可用ADC+GW1NZ的所有可用IO+PMIC的若干路5V IO。敬请期待。
可能需要翻墙,或者你家网络太差。不同地区,不同运营商墙的东西不完全一样。
EEPROM的问题,我的板子没有FT2232H,所以没有EEPROM。我是用CH552做的下载桥,下一代准备换ESP8285或者ESP8685。
已经收到板子, 只是有个疑问,
https://whycan.com/files/members/7773/mangopi-d1s.png图中送的小排针做什么用的?
盲猜是串口,让你焊接串口线的。
https://dl.sipeed.com/shareURL/MaixII/MaixII-Dock/SDK/Toolchain
{"code":-1,"msg":"error"}不知是否我被牆了
重试一下看看。我刚试了一下也是error,刷新就好了。
@Blueskull
ep4ce10都涨到400了,想找家国产的替代,不知道哪家靠谱
小容量的都靠谱,都是抄的国外成熟的核心技术(高云和AGM高管部分是Lattice出来的)配上自己的外围。
大容量的复旦微有,几百kLUT的都有,一比一抄的Virtex,但是有些黑盒IP要改,全白盒IP可以pin-to-pin直接换。
纯国产技术的(紫光?)没用过,不了解。
10kLUT可以看看高云的18kLUT产品GW2A-LV18,实际上有21.5kLUT。但是高云的逻辑门慢一些,可能时序不满足。
同一代产品,Xilinx最快,Intel次之,再下面高云和AGM,Lattice略慢一点垫底。
@echo
按照1个闪存字节7.2um2计算(格罗方得55nm,比较先进的闪存单片机标配工艺),批量3毛钱每mm2算,每1块钱可以买452kB的片上闪存。
按照一个小型嵌入式系统使用32kB闪存,armcc能节省1/3计算,每一台产品可以节约0.0236元,约合0.0036美金。
按照一套armcc授权3000美金计算,研发团队需要三人同时使用软件,则armcc的软件成本需要销售2.5kk台产品才能赚回来。
我很难想象什么普通公司能卖出去2.5kk台产品,哪怕什么产品都加起来。
另外arm核心也不是免费的,换用廉价的rv核心,很可能单单是授权费就能把闪存和ram的钱赚回来。
arm有专利,你用了就要交钱,就算你自己做出来了ip实现也得交专利费。
rv没有专利,虽然具体的设计ip核还要买,但是这个价格可以内卷。你卖一分我卖一厘,别人为了上市融资还可以亏本白送。
所以我还是认为在未来,rv从成本上是有优势而且势不可挡的。
arm的m系列我感觉时候不多了,r系列也会慢慢被蚕食,真正有竞争力的是a系列,就像intel/amd不做单片机一样。
kekemuyu 说:看到一篇不错的分析riscv代码密度的文章:
https://developer.aliyun.com/article/783932我实测的结果是目前RISC-V和Cortex-M比代码密度差距明显。
你那个测试是基于arm@armcc和rv@gcc的吧。那个本来就是不公平的,arm有自家开发工具的加成。
试试都用gcc和自带的libc,rv开启c扩展,应该还是有差距,但是很小。
If you are looking for a solution with D1, maybe you can talk to the people at Sipeed. They are the official sales outlet of Allwinner's D1 EVK outside the country (through Seeed Studio, they themselves handle tech support and a good part of the development of that board).
Sipeed started as a dev kit manufacturer, but now is focusing on solutions. I think you can have a wonderful collaboration with them.
FYI, D1 is designed to run Linux. I don't know if anyone has a working non-Linux BSP at all. If you do not want to reinvent all wheels, I'd suggest either you talk to someone who has intimate knowledge of the chip and its BSP, so that he or she can easily port the drivers to whatever OS you choose, or just use an MCU, not an MPU at all.
Don't know why it has to be SDIO, but if you just want to bridge Ethernet to an FPGA, consider using SPI. There are a lot of MCUs that have both an Ethernet MAC, sometimes even a PHY, and a fast SPI port. Take no more look other than ESP32, the most widely used IoT chip in the hobby, and you will find that it has all, even SDIO (though I'd avoid it due to patent issues).
Oh, BTW, the founder and owner of Sipeed also founded AI-Thinker, the company that propelled Espressif to what it is from just another discreet Chinese IoT chip manufacturer. If you want an ESP32 consultant, consider no more than her or her husband, a genius on chip designing, the designer of K210, and he "casually" designs 14nm chips at home.
Disclaimer: I know the people behind Sipeed well, though I do not work there nor do I get paid for promoting their services.
@echo
对复制到非DPTR,比如外设,有用啊。
比如考虑如下场景:
__xdata uint8_t *buf;
int len;
while(len--)
{
SPI0_DATA=*buf++;
while(!S0_FREE);
}
这个代码可以优化成:
XBUS_AUX=0x00; // Select DPTR0
SAFE_MOD=*buf; // Load DPTR addresses from xdata pointer
SAFE_MOD=0x00; // Prevent 0x55, 0xaa patterns
XBUS_AUX=0x04; // Select DPTR0 and enable auto increment
while(len--)
{
__asm("movx @a, DPTR");
__asm("mov SPI0_DATA, @a");
while(!S0_FREE);
}
XBUS_AUX=0x00; // Disable DPTR auto increment
速度确实会快很多(SDCC操作DPTR默认每次都加载DPTR寄存器,非常保守,但是非常低效),但是每隔几百KB就会错乱一次,SPI收到的数据和USB发过来的对不上。
@saub
啥时候我成倒腾芯片的了?我一个做电源模块开发的,嵌入式就是做着玩玩。我就是看不惯你们这帮白嫖怪,啥都要白嫖。
顺便说一下,A78以前的ARM核现在不要国外授权了,ARM中国和ARM母公司干掰了。
现在ARM中国独立运营。卖了IP还要给母公司分成,但是卖谁怎么卖已经是中国人说了算了。
我玩F1C200S的时候XBOOT只有F1C100S的BSP,F1C200S的LD文件和内存初始化要自己稿。最后我搞出来了个1秒进UI的超级精简版。
我玩GD32F350的时候全网找不到GCC的BSP,整个BSP从start.s,LD文件到libc底层函数全是我手写的。现在全网应该也只有我那一份GCC的BSP。
我玩CH552的时候SDCC的BSP只有头文件,所有外设驱动都要手写,而且手册里面还偶尔有坑。现在我有全网吞吐率最高的CH552 JTAG桥。
玩个3352还玩出优越感了,我真是服了。我玩3358的时候内核还是3.x的版本,我读书的时候还拿3358作了个课程设计。
手册不是说能跑到24mhz吗
5V下可以,3.3V只能16MHz。
能否将spi设在4mhz 用nop调延时让实际速率略低于4mhz 这样输出时钟比较均匀 更利于连长线
可以。这个取决于用户需求。我的nop是宏定义的,要几个给几个。SPI降频,nop数跟着降就好了。
我现在没有做环形缓冲,也没有做USB分包,现在是一个USB数据包是一条指令,如果作了分包,就可以高效地发超长或者超短包了。到时候USB利用率还能提升。另外,我现在指令数据没有分离,所以协议需要解析才能发送。以后开个新的端点,只负责SPI数据,带宽还能提升。
但是我不想搞了,等什么时候速度不够了我再弄吧。
这单片机频率有的超么 还是跟usb绑定的
速度是受CPU限制的。这个单片机不支持DMA到其他外设,只有USB能DMA。所以USB DMA进来的数据需要使用CPU拷贝到SPI里面,这个是最浪费时间的部分。
因为8051只能寻址256字节idata内存,额外的数据(USB buffer)要放到xdata内存里面,因此需要DPTR操作,这个最费时间。
一个连续地址DPTR操作需要完成五件事,写入DPH,写入DPL,读取数据到ACC,从ACC读取数据到实际目的地,自增DPL。
因为我用的免费编译器SDCC优化不是特别好,我怀疑它没有对这部分进行优化。
如果手写汇编或者使用商业编译器,只要我的数据在一个256字节的页里面,DPH只要写一次,不需要每次都写。
同理,CH552支持DPL自增,每次读取他会自动加一,因此DPL也不用每次读取都自增然后写入。这三个指令优化掉了应该会再快一点。
“公司的知识产权协议允许我拥有工作中开发的工具的知识产权”
什么高大上的公司竟然允许这样
甲方工作中为乙方产生的可交付直接结果,例如按照客户要求或内部立项要求所研发的电路拓扑、电路原理图、电路板版图、集成电路版图等,和上述结果的中间过程结果,例如上述结果在迭代过程中产生的中间版本,其知识产权归乙方所有。甲方在产生上述结果的过程中所开发之工具,例如EDA软件、仿真软件、测试方案及软硬件等,其知识产权归甲方所有,并授予乙方无条件的、永久的、免费的使用权。
这是我的合同里面的原文。大老板完全OK,秒同意,但是下面的法务有点顾虑。这个版本是和HR和法务拉锯战谈判下来的产物。
最近工作需要调一大堆PWM发波电路,每一块实验板都要画FPGA,JTAG桥和PMIC,遂心生一计,何不把我每次都重复的部分单独拉出来,搞个核心板封起来当IC用?
基于这个想法,我开发了一块尺寸仅9.5mm*10.5mm的核心板,集成上述功能,外部连上供电就能跑,连上USB还能下载程序或模拟SPI主机和FPGA通信。
因为公司的知识产权协议允许我拥有工作中开发的工具的知识产权,遂将这个项目开源出来,和大家分享。
传送门: https://github.com/blueskull/PicoGate
固件见我之前的USB-JTAG项目,支持SRAM下载,很短的未来里会新增功能,尤其是FLASH下载。敬请期待。
R0->R6, R1->R7这种接法在0x00~0x3f范围内的累积误差最小。
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#define EIEO // Extreme input, extreme output, 0x00->0x00, 0x3F->0xFF
uint8_t makeByte(uint8_t in, int b0Mode, int b1Mode)
{
uint8_t out=in<<2;
if(b0Mode==0) ; // b0=0
else if(b0Mode==1) out|=0x01; // b0=1
else if(b0Mode<=7) out|=(out>>b0Mode)&0x01; // b0=b_b0Mode
else {printf("Invalid input.\n"); exit(1);}
if(b1Mode==0) ; // b1=0
else if(b1Mode==1) out|=0x02; // b1=1;
else if(b1Mode<=7) out|=((out>>b1Mode)&0x01)<<1; // b1=b_b1Mode
else {printf("Invalid input.\n"); exit(1);}
return out;
}
int main()
{
int i, j, k;
int err;
int errsum[8][8];
unsigned int errmin=-1;
for(i=0;i<8;i++) // Scan b0Mode
for(j=0;j<8;j++) // Scan b1Mode
{
#ifdef EIEO
if(makeByte(0x00, i, j)!=0x00) // Zero input zero output
continue;
if(makeByte(0x3f, i, j)!=0xff) // Max input max output
continue;
#endif
errsum[i][j]=0;
for(k=0;k<64;k++) // Scan input value
{
uint8_t out=makeByte(k, i, j);
float diff=k/63.0*255-out;
if(diff<0) diff=-diff;
err=(int)(diff+0.5);
errsum[i][j]+=err;
}
if(errsum[i][j]<errmin) errmin=errsum[i][j];
}
for(i=0;i<8;i++)
for(j=0;j<8;j++)
if(errsum[i][j]==errmin) printf("Minimum error %d reached at b0Mode=%d, b1Mode=%d.\n", errsum[i][j], i, j);
return 0;
}
刚写了个程序验证过了。
https://www.bantamtools.com/cnc-milling-machine
4000美金+500美金国际运费,加上16%增值税和25%惩罚性关税,大概4w2,你想做的都能实现。或者邮到香港自己人肉带回来,2w9,一个拉杆箱应该能装下,这个机器很小的。
and those fees do not include VAT (+20 %) … On the top of this DHL Express demands – original Chinese invoices with wet stamp. In your opinion, how many seller on Taobao issue such?
My condolences to your situation. Blame the EU bureaucrats, not us. I never had issues shipping to or from the US, and I lived both here and there for extended periods. Probably that's why the EU doesn't have as strong economy.
Since the Chinese government does nothing about the raised issues, what one can do?
International purchase is not protected in the first place. Not happy with this? Don't buy internationally, or buy from companies known to do well on international orders. I happen to be close friends with a leading Chinese open source hardware startup that made its way to Mouser. If you started this thread with an attitude to solve problems rather than like this, I might offer some of my resources.
For example, filing a report to the Chinese police requires a Chinese ID number …
I happen to be a PI to a few students, one being Pakistani. Weird though, he doesn't seem to have problems dealing with the government. No ID? Use your passport! There are as many foreigners living in China as the population of a small European country. How did they get around here?
In Bulgaria we had one businessmen, a billionaire ... his companies were not paying taxes – more that 250M EUR for 5 years …
You also have Olimex to refer to and you have to refer to this guy. Brilliant.
Dealing with China is just loss of money, time, resources … to mention not the insults etc.
Because you didn't do it the Chinese way. You could have just taken the loss and spare yourself from a lot of troubles and find another reshipper an save all the efforts bitching here. In the end you ended up wasting less time, and spending less jumping through the hoops.
We are a utilitarian country. We don't care what is "right" or otherwise. We care about getting the things done, the quickest and cheapest way. Just do what successful, or rich people do. Your country certainly has many people dealing with China and made great money. Copy and paste what they do, don't ask questions, and you will be fine.
Never pursue what is theoretically "should be" in China. It doesn't work here.