USBBlaster是一款由Altera公司开发的用于JTAG(JointTestActionGroup)编程和调试FPGA(Field-ProgrammableGateArray)芯片的设备。
它通过USB接口与计算机连接,为用户提供了方便快捷的FPGA编程方案。
USBBlaster的工作原理是利用USB通信协议将数据传输到一个内置的CPLD(ComplexProgrammableLogicDevice),然后CPLD通过JTAG接口与FPGA进行交互。
在"USBBlaster制作资料"中,我们可能会接触到以下几个关键知识点:1.**USB通信协议**:USB(UniversalSerialBus)是一种标准的接口,用于连接各种外部设备到计算机。
USBBlaster利用USB协议传输数据,它遵循USB规范中的设备类定义,例如CDC(CommunicationDeviceClass)或HID(HumanInterfaceDevice)类,以实现数据的高速、稳定传输。
2.**JTAG协议**:JTAG是一种国际标准测试协议,用于电路板级的硬件测试和调试。
在FPGA应用中,JTAG被用来编程、测试和诊断FPGA内部逻辑。
JTAG接口通常包括TMS(TestModeSelect)、TDI(TestDataIn)、TDO(TestDataOut)和TCK(TestClock)信号线,这些信号线在USBBlaster中由CPLD管理。
3.**CPLD**:CPLD是一种可编程逻辑器件,可以配置为实现用户自定义的逻辑功能。
在USBBlaster中,CPLD扮演了关键角色,它接收来自USB接口的数据,处理后通过JTAG接口发送到FPGA,同时也接收FPGA的反馈信息,从而实现FPGA的编程和调试。
4.**原理图**:提供的原理图会详细展示USBBlaster的硬件设计,包括USB接口电路、CPLD配置、JTAG接口以及电源管理等部分。
通过分析原理图,我们可以理解各个组件如何协同工作,以及如何根据需要进行硬件修改或定制。
5.**固件程序**:固件是运行在硬件设备上的软件,对于USBBlaster,这可能包括USB控制器的驱动程序和CPLD的配置文件。
固件程序确保USB接口正确地与主机通信,并控制CPLD执行JTAG操作。
6.**烧写软件**:为了将固件程序和CPLD配置加载到硬件上,我们需要特定的烧写工具。
这类软件通常支持图形界面,方便用户选择要加载的文件,监测编程过程,并提供错误检查和诊断功能。
7.**CPLD程序**:CPLD程序是指配置CPLD的逻辑代码,它定义了CPLD如何处理USB数据并控制JTAG接口。
这种代码通常使用硬件描述语言(如VHDL或Verilog)编写,并通过专用的编译工具转换成配置文件。
通过这个压缩包,学习者不仅可以了解USBBlaster的工作原理,还可以动手制作自己的USBBlaster,这对于FPGA开发者来说是一项宝贵的实践经验。
同时,这也涉及到电子工程、计算机硬件和嵌入式系统等多个领域的知识,有助于提升综合技能。
2025/7/23 6:41:06 2.14MB USB Blaster
1
阿里出品arthas,线上查询问题的利器,jvm调优、动态日志级别调整、线上代码反编译等。
2025/7/22 10:50:24 11.99MB java 运维
1
PID算法巡线详细通俗解析,含口诀参数整定找最佳,从小到大顺序查  先是比例后积分,最后再把微分加  曲线振荡很频繁,比例度盘要放大  曲线漂浮绕大湾,比例度盘往小扳  曲线偏离回复慢,积分时间往下降  曲线波动周期长,积分时间再加长  曲线振荡频率快,先把微分降下来  动差大来波动慢。
微分时间应加长  理想曲线两个波,前高后低4比1  一看二调多分析,调节质量不会低
2025/7/22 10:10:04 100KB PID算法
1
导入图片,可以通过点击的方式获得图片中点的坐标,并且可以在图片上添加辅助线,以帮助区分图中各个点
2025/7/20 14:35:14 324KB 图片坐标获取
1
用VC++6.0实现的扫描线填充,裁剪算法及画线方法 CPenpen(PS_SOLID,1,fillcolor);//设置扫描线所用笔的属性 CPen*old=pDC->SelectObject(&pen); intj,k,s=0; intp[9];//每根扫描线交点 intpmin=1000; intpmax=0; for(inti=0;i<inLength;i++)//建立边表 { edge[i].dx=(float)(inVertexArray[i+1].x-inVertexArray[i].x)/(inVertexArray[i+1].y-inVertexArray[i].y); edge[i].num=i; if(inVertexArray[i].y<=inVertexArray[i+1].y) { edge[i].ymin=inVertexArray[i].y; edge[i].ymax=inVertexArray[i+1].y; edge[i].xmin=(float)inVertexArray[i].x; edge[i].xmax=(float)inVertexArray[i+1].x; } else{ edge[i].ymin=inVertexArray[i+1].y; edge[i].ymax=inVertexArray[i].y; edge[i].xmax=(float)inVertexArray[i].x; edge[i].xmin=(float)inVertexArray[i+1].x; } } //求多边形的最大最小值 for(intm=1;m<inLength;m++) { for(intn=0;n<inLength-m;n++) { if(pmaxinVertexArray[n].y) pmin=inVertexArray[n].y; } } for(intr=1;r<inLength;r++) //边表edge排序 { for(intq=0;q<inLength-r;q++) { if(edge[q].yminpmin;scan--)//扫描线遵守'“上开下闭”的原则 { intb=0; k=s; for(j=k;j=edge[j].ymin)&&(scan<=edge[j].ymax))//判断扫描线与线段是否相交于顶点 { intpreNum=edge[j].num; intnextNum=edge[j].num+1; if(preNum==0) preNum=inLength-1; else preNum=preNum-1; if(nextNum==inLength) nextNum=0; if(scan==edge[j].ymax)//位于下顶点时,根据相临点的位置决定取几个点 { if(inVertexArray[nextNum].y<edge[j].ymax) { b++; p[b]=(int)edge[j].xmax; } if(inVertexArray[preNum].yedge[j].ymin)&&(scan<edge[j].
2025/7/20 4:20:18 83KB 图形学 扫描线 裁剪 DDALine
1
2021年奢侈品线上消费圈层洞察.pdf
2025/7/18 22:32:23 11.83MB 奢侈品
1
在调查的过程中,会发布线上问卷。
那么怎样发布问卷呢,本教程介绍了如何发布线上调查问卷的操作方法。
1
利用OpenCV开源视觉库来获取通过硬件解码的RGB图像,避免了通过调用AndroidCamera得到图像再转码为RGB格式,提高了系统的实时性。
然后对采集的图像进行高斯滤波和形态学变换。
最后对预处理后的图像进行Canny取边缘操作,利用Hough变换取得道路边缘直线组,在摄像头相对道路的偏转角度在一定范围的条件下,将边缘直线分为左右两组,之后对两组直线利用最小二乘法拟合得到两条道路边缘性,然后得到道路中心线及其位置,该信息可以通过串口\wifi\蓝牙等输出到控制器,以便控制器对小车或飞机的飞行姿态进行调整。
2025/7/18 0:31:54 1.77MB opencv 循迹
1
StrucKit是一个构造地质学工具软件,采用VB6.0开发完成。
它集成12项功能,包括岩石有限应变测量的反向轮法和Fry法、模型非均匀有限应变场测定的陈氏网格法、面状和线状构造优势方位的确定、节理玫瑰花图、岩组图的计算机绘制、三点法求岩层产状、岩层真厚度计算、断裂线曲率计算、能干层褶皱流变参数的估算、褶皱的π图解和β图解。
StrucKit的优点是功能的集成、结果的直观性、操作的简便性、运算精度和效率较高等
2025/7/17 15:37:52 1.87MB StrucKit
1
内容简介······《字体设计的规则与艺术》分为衬线大写字母、衬线小写字母、无衬线大写字母、无衬线小写字母、数字、标点符号、变音符号和间距几个部分,介绍了字体设计的规则与方法。
《字体设计的规则与艺》呈现了大量字体样本和图解,对字体创作的流程进行了深度解析,生动诠释了字体设计的视觉要领,探讨了字体的结构、视觉补偿及可辨认性,阐述了一种字体中字母与负形的系统关联。
《字体设计的规则与艺》分析了大量历史上的经典字体及现代字体,并展示了很多学生作品的典型案例,将理论与实际操作相结合,不但能使读者掌握字体设计的规律,还能为他们打开创作思路。
  《字体设计的规则与艺》适用于设计专业的老师和学生阅读,同时也供从业的设计师参考。
作者简介······凯伦程是美国西雅图市华盛顿大学视觉交流设计项目的副教授,主要教授该大学的字体设计和字体排印学课程。
她是一名积极的字体设计实践者,其设计作品早已获得了美国平面设计师协会(AIGA)、ID杂志和美国设计中心的认可。
她在ID杂志上出版了《交流艺术》一书。
目录······引言设计流程字体设计中的变量字母的“部位”字体分类========================================================衬线大写字母(SerifCapitals)衬线大写字母O衬线大写字母E衬线大写字母C衬线大写字母G衬线大写字母D衬线大写字母B衬线大写字母P和R衬线大写字母J衬线大写字母Q衬线大写字母S衬线大写字母I、H、T、F和L衬线大写字母V和A衬线大写字母U衬线大写字母X衬线大写字母W衬线大写字母Y衬线大写字母M衬线大写字母N衬线大写字母K衬线大写字母Z========================================================衬线小写字母(SerifLowerCase)衬线小写字母o和l衬线小写字母d、q、b和p衬线小写字母e和c衬线小写字母n、h、m和u衬线小写字母r衬线小写字母a衬线小写字母s衬线小写字母g衬线小写字母i和j衬线小写字母f和t衬线小写字母v、w和y衬线小写字母k衬线小写字母x和z无衬线大写字母(SansSerifCapitals)无衬线大写字母O和E无衬线大写字母I、H、T、L和F无衬线大写字母S、C和G无衬线大写字母U和J无衬线大写字母D、B、R和P无衬线大写字母Q无衬线大写字母V、A和W无衬线大写字母K、X和Y无衬线大写字母M,N和Z========================================================无衬线小写字母(SansSerifLowerCase)无衬线小写字母o和l无衬线小写字母d、b、p和q无衬线小写字母s、c和e无衬线小写字母a和g无衬线小写字母n、m、h、u和r无衬线小写字母i、j、f和t无衬线小写字母v、w和y无衬线小写字母k、x和z数字(Numbers)数字0和1数字2数字4数字7数字3和5数字6和9数字8标点符号(Punctuation)句号、逗号、冒号和分号引号问号和感叹号========================================================变音符号(DiacriticalMarks)尖音符和钝音符长音符号元音变音符和分音符波浪符号软音符合字========================================================间距(Spacing)字母的安全空间测试间距单词间距、数字间距和标点符号间距========================================================字距调整(Kerning)参考书目(References)索引(Index)
2025/7/17 15:31:52 37.19MB 字体设计 规则 艺术
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡