2012年10月30日星期二

TCP/IP Offload Engine技術的嵌入式乙太網介面設計




今天給大家介紹一篇來自杭州電子科技大學的一篇論文,原文標題為“基於TOE技術的嵌入式乙太網介面設計”。該文提出了一種新的嵌入式乙太網解決方案,在無需引入作業系統的條件下,實現了嵌入式系統的乙太網接入。

為減輕主機CPUTCP/IP協定棧處理的負擔,提高嵌入式系統的性能,該文提出一種基於TOE(TCP/IP Offload Engine)技術的嵌入式乙太網介面設計,該設計介紹了一種通過硬體來實現協定棧處理的方法,利用具備協議處理能力的WIZnet乙太網解決方案供應商的網路控制晶片W5300,在TCP/IP協議的基礎上實現了嵌入式系統的乙太網接入。

圖片: W5300晶片

TCP/IP是一組廣泛應用的協定,幾乎已經成為網路通信的標準語言。傳統的TCP/IP通信資料的處理,都是由主機CPU通過軟體實現。隨著高速乙太網的發展,網路頻寬的增長速度遠遠高於CPU處理能力的增長速度,這需要佔用大量CPU資源對協議棧進行處理,給CPU帶來了沉重的負擔。對於接入乙太網環境的嵌入式系統,如何利用有限資源,減輕CPU對協議棧處理的負擔,成為一個值得關注的問題。為了解決這個問題,一種稱為TCP/IP減負引擎(TCP/IP Offload EngineTOE)的技術應運而生。該文基於TOE技術,提出了一種新的嵌入式系統乙太網解決方案,給出了詳細的硬體介面設計和軟體框架設計。

該論文分為4大板塊,分別介紹TOE技術、網路控制晶片W5300、嵌入式系統硬體設計、軟體設計等。查看論文內容:http://blog.iwiznet.cn/?p=1629 


更多相關博文可參考:
 


2012年10月29日星期一

[電子視頻分享] 如何通過VPN連接到網路


       
本視頻介紹的是VPN聯網視頻教程,好康相報哦~~  讓你不再為翻牆而困惑。



更多視頻,關注我的微博:http://weibo.com/wiznet2012

[電子視頻分享] 用EZ埠代理軟體配置無線路由器



本視頻介紹的是: 通過使用EZ代理的方法方便快捷地配置無線網路連接。供大家分享~



更多視頻,關注我的微博:http://weibo.com/wiznet2012

如何使用網路單片機W7100A實現TCP通信?

今天给大家介绍的是以太网控制网络单片机W7100A的应用笔记之如何实现TCP通信。

TCP(传输控制协议)是用于控制网络间数据通信的协议。作为组成互联网的主要协议之一,更多的详细内容已经写入IETF(互联网工程任务组)的RFC 793中。TCP是运行于IP层上的协议,它保证了数据的有效传输并且可以按照数据的发送顺序依次进行接收。

因为W7100A单片机支持传输层的TCP协议,所以用户不需要做任何整合就可以直接使用TCP/IP协议。

下面一一给大家做阐述。

1 TCP SOCKET

用户可以在W7100A提供的所有8个SOCKET中使用TCP协议,但是必须首先创建要使用的SOCKET。在创建SOCKET时,需要用到SOCKET号、协议、端口号以及标志位。这篇文档将会介绍什么是TCP协议,以及在使用TCP协议时如何将Sn_MR(TCPIP核心中的SOCKET n模式寄存器)设置为Sn_MR_TCP(0×01)。SOCKET号表示用户可以选择从0到7这8个SOCKET中的任意一个使用。端口号表示TCP协议下用户指定使用的端口。如果上面需要的这些都已经设定好,那么socket()函数就可以自行分配创建一个SOCKET。


由于W7100A单片机的TCP协议支持服务器模式和客户端模式,用户可以任意选择一个模式实现此应用。服务器模式和客户端模式的不同见下图:


          <图1.1> TCP 服务器和TCP 客户端

如图1.1所示,TCP服务器模式和客户端模式的过程大致相同。唯一的区别在于打开SOCKET之后,SOCKET状态是监听还是连接。当TCP协议在服务器模式下运行时,服务器处于监听状态等待来自客户端的连接请求。如果TCP协议运行于客户端模式下,客户端将会在连接状态下请求连接服务器。一旦成功建立连接,SOCKET的状态将会变成建立(SOCK_ESTABLISHED,0×17)。SOCKET在点对点建立连接之后仍然可以保持连接状态,从而进行数据交换直到SOCKET关闭。
服务器模式下的SOCKET循环周期是由打开、监听、发送、接收、断开和关闭组成。客户端模式的SOCKET循环周期则是由打开、连接、发送、接收、断开和关闭组成。


1.1 打开(OPEN) 

无论是在服务器模式或是客户端模式下,在创建SOCKET时第一步都是打开SOCKET。利用SOCKET()函数设置SOCKET号、协议、端口号以及标志位来创建一个SOCKETn(取第n-1个SOCKET值)。由于使用的是TCP协议,需要将协议设置为Sn_MR_TCP(0×01)。而端口号的设置则取决于是在服务器模式还是客户端模式下。如果是在服务器模式下,服务器会根据当前用户所使用的端口来设置源端口号。但是如果是在客户端模式下,因为目的端口号正在被使用,最好随机选择一个端口号,并每次增加一个数字,直到SOCKET被连接为止。TCP协议的标志位表示‘无延时确认标志位’,一般来说,将该位设置为0。更多关于协议类型、标志位等信息,将会在‘TCPIPCore.h’文件下的‘Sn_MR value’中介绍。
在所有的设置完成之后,通过检查Sn_SR(n)寄存器来查看SOCKETn的状态是否变成SOCK_INIT(0×13)。用户可以通过getSn_SR(SOCKETn)函数来完成Sn_SR(N)寄存器的检查过程。如果SOCKET的状态为SOCK_INIT(0×13),表示SOCKET创建成功;如果没有成功,用户需要重新创建SOCKET。

                             例1.1 打开SOCKET


1.2 监听(LISTEN)
监听过程只能在服务器模式下使用。在SOCKETn创建完成后,为了能与客户端连接,需要将SOCKET的状态从SOCK_INIT(0×13)变成监听。用户可以直接将Sn_CR(n)寄存器设置为Sn_CR_LISTEN(0×02)或者可以直接使用’SOCKET.c’文件中的LISTEN()函数。在变成监听状态之后,SOCKET将会改变为SOCK_LISTEN(0×14)。然后,SOCKET等待客户端发出连接请求。一旦与客户端建立连接,SOCKET的状态将会重新变成SOCK_ESTABLISHED(0×17)。此时,便可以与客户端之间进行数据传输。

                           例 1.2 设置监听状态

1.3 连接(CONNECT)
连接过程发生在客户端模式连接到服务器时。在连接SOCKET时需要用到SOCKET号、目的IP以及目的端口号这些参数。用户可以通过CONNECT()函数进行设置;一旦成功建立连接,SOCKET的状态将会变成SOCK_ESTABLISHED(0×17)。

                           例 1.3 设置连接状态

1.4 发送(SEND)
在使用TCP协议时,与对端的连接在发送数据前就已经完成。用户可以通过SEND()函数查看设置的SOCKET号、将要发送数据的地址、数据的大小等参数。将要发送的数据的地址通常由选择的区域确定,输入数据,并且通过指针设定区域。

                             例1.4 发送数据

1.5 接收(RECEIVE)
接收过程和发送过程基本相同,唯一不同的是接收(RECEIVE)过程需要检查的是Sn_RX_RSR(n)。接收过程是指将来自接收缓存器的数据移动到用户数据存储区。因此,用户必须在接收之前检查Sn_RX_RSR(n)的值是否大于0。如果大于0,表示数据已经保存在接收缓存器中。用户必须通过getSn_RX_RSR(n)函数在此过程之前确认数据是否被接收。

                            例1.5 接收数据

1.6 断开(DISCONNECT)

关闭SOCKET的方法通常有两种:第一种方法是通过DISCONNECT(n)函数。DISCONNECT(n)函数不能用来直接关闭SOCKET。它先向对端发送断开连接请求(FIN数据包),然后等待回复信息(FIN/ACK数据包),之后才能将SOCKET的状态变成SOCK_CLOSED(0×00),最后关闭SOCKET。当收到断开连接请求时,W7100A发送一个FIN/ACK数据包表示允许对端关闭SOCKET。如果在发送断开连接请求之后没有收到对端的回复,将会发生TCP超时,SOCKET的状态将会变成SOCKET_CLOSED(0×00)。当用户需要断开连接时,通过DISCONNECT()函数,选择合适的SOCKET号,然后发送断开连接请求。


                           例1.6 设置断开连接

1.7 关闭(CLOSE)

和断开的过程不同,关闭过程可以直接将SOCKET变成SOCK_CLOSED(0×00)。用户通过
CLOSE(n)函数选择合适的端口号,然后无论对端有没有做出响应都将关闭SOCKET。如果RST数据包来自对端,SOCKET将会无条件变成SOCK_CLOSED(0×00)。一旦SOCKET变成为SOCK_CLOSED(0X00), SOCKET将不再可用除非重新打开它。


                             例1.7 设置关闭


2 TCP回路测试(LOOPBACK)

2.1 服务器模式 

TCP回路测试可以通过回送来自于对端的数据从而检测TCP协议的性能。这一章节将会介绍服务器模式下回路测试的例子。程序范例如下:

                     例2.1 设置回路测试(LOOPBACK)服务器
如上面的例子所示,在SOCKET循环周期内除了connect()函数,其他所有函数都可以使用。首先利用getSn_SR(s)函数检测SOCKET状态,在W7100A复位后,所有的SOCKET全都变成SOCK_CLOSED(0×00)状态。然后利用close()函数完全关闭SOCKET,再通过socket(s,Sn_MR_TCP,port,0×00)函数来创建一个新的SOCKET。如果SOCKET创建成功,状态将会变成SOCK_INIT,再通过listen(s)函数将SOCKET的状态变成监听。一旦与对端建立连接,SOCKET的状态将变成SOCK_ESTABLISHED,并且等待数据。所有接收到的数据都保存在接收缓存器中,recv(s,data_buf,len)函数中的data_buf变量定义为接收到的数据的长度。最后再通过send(s,data,len)函数将数据回送到客户端。客户端会比较数据交换前后的差异来检测数据通信是否正常。


2.2 客户端模式
本章节将会介绍客户端模式下回路测试的例子。程序范例如下:


                        例2.2 设置回路测试(LOOPBACK)客户端
TCP客户端的程序例子和TCP服务器的例子基本相同。唯一的区别在于SOCK_INIT状态下,是通过connect()函数而不是listen()函数与服务器连接。

3 回路测试服务器演示
这一章将会介绍TCP回路测试程序运行的例子。在下载完成TCP回路测试应用的二进制文件后,运行iMCUW7100单片机内的数据包实现回路测试的演示过程。更多的详细信息,请参阅文档‘如何在W7100A中创建工程’,‘WizISP程序指南’以及‘W7100A Debugger指南’。
对TCP串行回路,用户按照下面的步骤进行设定:
● 确认测试环境。请参考‘iMCU7100EVB用户指南’
直接利用UTP线连接PC机与iMCU7100EVB
直接利用串口线连接PC机与iMCU7100EVB
使能iMCU7100EVB的5V电源适配器
● 添加下面测试PC机的网络信息
- IP地址 : 192.168.1.xxx (‘xxx’ 为用户PC机的IP地址,在客户端模式下此IP地址 也是服务器的IP地址,即我们之前在TCP客户端代码中设置在destip[4]的IP地址)。 在本文档中,IP设置为192.168.1.69,但是用户可以进行修改。
- 网关IP地址 : 192.168.1.1
- 子网掩码 : 255.255.255.0
● 运行超级终端机程序以及AX1程序

3.1 超级终端机程序

          <图3.1> 超级终端机程序选项
在超级终端机程序行完成之后,如图4.1设置串行通信的选项。超级终端机程序将会显示串行通信时iMCU7100EVB的运行状态。


3.2 AX1 设置
想了解更多关于AX1程序的信息,请参考AX1用户手册。

3.2.1 TCP服务器模式下的iMCU7100EVB
当iMCU7100EVB运行于服务器模式时,PC作为TCP客户端利用AX1程序连接到iMCU7100EVB。在AX1程序中,选择TCP => CONNECT 菜单来实现与iMCU7100EVB的连接,此时对端的IP地址为192.168.1.2,端口号为5000。
一旦连接成功,如图4.2选择TCP => SEND 菜单发送数据。因为此时iMCU7100EVB作为服务器,AX1程序窗口将会显示客户端的状态。

                      <图3.2> AX1 发送数据

3.2.2 TCP客户端模式下的iMCU7100EVB

当iMCUW7100EVB运行于客户端模式下时,PC机作为TCP服务器使用AX1程序将iMCU7100EVB连接到服务器端口。如果在AX1程序中打开的服务器端口号是5000(监听状态),iMCU7100EVB将会连接到服务器IP地址以及服务器端口(192.168.1.xxx,5000)。需要注意的是IP地址必须是打开AX1程序的PC机上的IP地址。
一旦连接成功,选择TCP =>SEND菜单, 然后发送数据,如图4.2。因为iMCU7100EVB作为客户端,AX1程序窗口将会显示服务器的状态。

                     <图3.3> AX1监听

3.3 TCP回路测试结果 

3.3.1 TCP服务器结果

在设置完成TCP服务器之后,点击TCP发送。然后AX1程序将会显示PC机客户端的处理进程。如图4.4所示,图中显示了发送/接收的数据大小,而超级终端机程序将会显示iMCU7100EVB服务器的处理情况。

                            <图3.4> TCP服务器的结果

3.3.2 TCP客户端结果
在TCP客户端所有的设置完成后,点击TCP发送。AX1将会显示PC机服务器的处理情况。如图4.5所示,图中显示了发送/接收数据的大小,而超级终端机程序将会显示iMCU7100EVB客户端的处理情况。

                     <图3.5> TCP客户端结果




更多参考资料请访问官网,有任何问题请随时联系我们。谢谢阅读!

圖集:關於Win 8你應該知道的幾件事情!

微軟(Microsoft)寄望最新亮相的作業系統能夠扭轉PC產業。但我們將從一些更有趣的角度來進行探討。

微軟的 Windows 8 是否意味著 Wintel 雙寡佔世代的終結?可以說是,也可以說不是。
微軟已經推出下一代Windows的重大革新版本和自有的 Surface 平板電腦。確實,無論Windows 8和 Surface 目前都是是用 ARM 版 SoC 。然而,儘管面臨這種威脅,但 Wintel 雙寡佔市場的威力依然強大。

從ACE談起
還記得ACE嗎?由康柏(Compaq)、微軟、NEC和其他PC領導業者,共同在1991年定義了一種基於MIPS、執行 Windows NT 和 SCO Unix 的桌上型電腦。該系統的主機板為MIPS RC3230(下圖所示),被認為應該是x86的殺手。

 但 ACE PC 的性能並沒有比 Pentium PC好上多少,特別是當時英特爾(Intel)更積極地採用最新的半導體製程技術。而且, ACE 系統確實有點貴。所以,他們從來沒有起飛過。
今天,大多數PC廠商都已經推出了採用 x86 Win 8的桌上型電腦和筆電系列產品。只有極少數的公司──包括宏基(Acer)、華碩(Asus)、聯想(Lenovo)、三星(Samsung)和中興通訊(ZTE)等廠商預計針對 Windows RT 開發系統(截至目前為止僅針對平板電腦),另外還有一些廠商則表示在2013年初以前都還無法就緒。
不過,在Wintel雙寡佔領域已經出現越來越多的裂縫了,傳統PC和筆電的銷售正面臨著一個關鍵時刻。乘著強大的智慧手機和一系列智慧裝置而來的 ARM ,目前已然建立起一個強大的生態系統,這與上世紀90年代 ACE 電腦的情況截然不同。
如果 ARM 的策略奏效,充份運用其在平板領域的優勢,那麼64位元的 ARM 晶片就可能會開始出現在筆電、桌上型電腦和伺服器等產品中。未來的發展誰又會預料得到呢?到2015年秋天,或許我們會看到首款基於Windows的ARM版伺服器。
這將對半導體產業產生重大影響,特別是這個產業中規模最大的成員──英特爾。當面對ARM公司通常售價低至20美元的SoC競爭時,這家x86巨擘很可能無法再讓其客戶端CPU平均銷售價格維持在100美元左右的水準。
這家業界最大的微處理器製造商,有可能成為取代台積電(TSMC)的廠商嗎。會憑藉著 FinFET技術,或是其他任何優勢嗎?
另外,伴隨著 Windows 8 的問世,未來整個電子產業也將出現一些曲折的發展。以下,我們將提供一些有趣的分析。

Win RT = Windows (Very) Basic
 針對ARM版 SoC 的Windows RT無法執行舊版Windows的應用程式。微軟提供精簡版的Office,而且拿掉了應用最廣的Outlook。
使用者是否都需要Windows的相容性,並堅持需要執行在 x86 架構上的 Win 8 ?這正是微軟為何推出 Win RT 的原因。而 Win RT 成效如何,大家都在屏息等待。

Win Tab 2.0
 Windows 8 t並非微軟首次推出的觸控螢幕平板電腦。十年前,曾經有過一些沉重且昂貴的Windows for Pen Computing系統,包括這款現在陳列在博物館中,三星的 PenMaster 在內。這是一台iPad嗎?顯然不是。

第三代可旋轉裝置(Convertibles 3.0)

 「混合式」這個名詞不只可用在電動車或電動腳踏車上。在 Win 8 行動世界中,已經出現了許多可旋轉的設計。這些製造商們再一次跟隨著巨人的腳步。
IBM Convertible (上圖)是一台可攜式電腦,還保留著一個類似PC的3.5英吋軟碟和可選的印表機模組。4.77MHz的8088 CPU與256KB的RAM,曾經在1986年的某一天讓業界驚嘆。
Jeff Hawkins創作的 Palm Pilot 和 Treo 最引人注目,其次是Grid Systems Convertible 2260(下圖)概念。這款1992年問世的產品實際上是一台盒狀的筆電或平板電腦,讓不怕揹重物的使用者可以隨身攜帶。

 這算創新嗎──Hinges
 我真的很怕聽到有人說:“我們為新的 Windows 8 行動PC所做的真正創新之一,就是我們為它打造了創新的樞杻(Hinges)。”
我們得到它。能夠很容易地扭動了超薄平板電腦到筆記本電腦是有用的,酷的,不容易的。聯想的 Yoga (上圖)運作起以似乎特別順暢。但請記住,當PC的創新已經涉及到 ASIC 的開發時,難道不能去定義一種新的顯示技術,或是其他比「hinge」更複雜一點的東西嗎?

這算創新嗎──Picking SoC
 請饒了PC工程師吧。曾幾何時,英特爾已經成為主導,告訴他們哪些晶片該應用在什麼樣的市場,而且還在系統設計上提供了一些指導。而其它與Windows系統中硬體要求的相關細節則由微軟來填補。
這些日子以來,同一批工程師們必須去評估一大堆的 ARM版 SoC,每一顆都擁有不同的週邊,有著不同的韌體需求,而且必須做出不同的每瓦功耗折衷設計。此外,他們還必須決定是否能應用在Windows 8系統和其他的Android設備上。
好消息是,其中有一些必須再次去做真正的系統級設計。但壞消息是,今天留在PC產業的工程師們,幾乎沒有人知道該怎麼做了。
另一消息是,他們不再需要在大量的 ARM SoC 以外還考慮德州儀器(TI)的 OMAP晶片。 TI已然退出平板之爭。

這算創新嗎──Type Cover、Touch Cover
 業界人士稱微軟的產品要比iPad多了一條腿。這是代表微軟產品中的SoC擁有每焦耳更多的GHz性能?不。那麼,是新的超級視網膜(super-retina)顯示技術嗎?也不盡然。
微軟想出了兩種也能當作鍵盤使用的設計。這是很不錯的主意,它可能勝過許多OEM合作夥伴所提供的產品設計。不過,你可以只將這類產品設計任務交給像Ideo這類工業設計公司嗎?

創新的邊緣──「開始」按鈕在哪裡?


一些使用者對於新的PC使用者介面(即之前所稱的 Metro )感到擔心,因為它是如此陌生。對初學者來說,他們通常會問:「開始」按鈕在哪裡?
為了降低Windows長期使用者的血壓,現在,我們只需要有人能提供PC死當時可用的第三方應用程式,好讓我們可以發洩怒氣。

Even niches are big


平板是電子產業的當紅炸子雞,即使是廉價的7吋機種,也預估2013年將成長到7,000萬台。就算每台只賣99美元,它的量也是驚人的龐大。
所以,我們何時會看到小版的 Surface?

有趣的All-in-one PC



Windows 8 不僅是有助於PC廠商追尋蘋果的iPad腳步。它也讓微軟遵循iMac。
擁有又大又漂亮的螢幕,而且集所有功能於一身…在英特爾今年九月的年度開發者論壇上,宏基和聯想都展示了新機型。而現在,一些具備更先進互動功能的機種也相繼推出。



編譯: Joy Teng

(參考原文: Slideshow: 10 things you should know about Win 8,by Rick Merritt)

什麼是IP Core?



IP核是指用於產品應用專用積體電路(ASIC)或者可編輯邏輯器件(FPGA)的邏輯塊或資料塊。將一些在數位電路中常用但比較複雜的功能塊,如FIR濾波器,SDRAM控制器,PCI介面等等設計成可修改參數的模組,讓其他使用者可以直接調用這些模組,這樣就大大減輕了工程師的負擔,避免重複勞動。隨著CPLD/FPGA的規模越來越大,設計越來越複雜,使用IP核是一個發展趨勢。理想地,一個智慧財產權核應該是完全易操作的--也就是說,易於插入任何一個賣主的技術或者設計方法。通用非同步接發報機(UARTs)、中央處理器(CPUs)、乙太網控制器和PCI介面(周邊元件擴展介面)等都是智慧財產權核的具體例子。  
 智慧財產權核心分為三大種類:硬核,中核和軟核。硬體中心是智慧財產權構思的物質表現。這些利於隨插即用應用軟體並且比其它兩種類型核的輕便性和靈活性要差。像硬核一樣,中核(有時候也稱為半硬核)可以攜帶許多配置資料,而且可以配置許多不同的應用軟體。三者之中最有靈活性的就是軟核了,它存在於任何一個網路清單(一列邏輯門位元和互相連接而成的積體電路)或者硬體描述語言(HDL)代碼中。  
 目前許多組織像免費的IP專案和開放核一類的都聯合起來共同致力於促進IP核的共用。
 多組織像免費的IP專案和開放核一類的都聯合起來共同致力於促進IP核的共用。



硬體描述語言HDL(Hardware Description Language)的發展為複雜電子系統設計提供了建立各種硬體模型的工作媒介。它的描述能力和抽象能力強,給硬體電路,特別是半定制大型積體電路設計帶來了重大的變革。目前,用得較多的有已成為IEEE STD1076標準的VHDLIEEE STD 1364標準的Verilog HDLAltera公司企業標準的AHDL等。
 由於HDL的發展和標準化,世界上出現了一批利用HDL進行各種積體電路功能模組專業設計的公司。其任務是按常用或專用功能,用HDL來描述積體電路的功能和結構,並經過不同級別的驗證形成不同級別的IP內核模組,供晶片設計人員裝配或集成選用。
 IPIntellectual Property)內核模組是一種預先設計好的甚至已經過驗證的具有某種確定功能的積體電路、器件或部件。它有幾種不同形式。IP內核模組有行為(behavior)、結構(structure)和物理(physical3級不同程度的設計,對應有主要描述功能行為的“軟IP內核(soft IP core)”、完成結構描述的“固IP內核(firm IP core)”和基於物理描述並經過工藝驗證的“硬IP內核(hard IP core)3個層次。這相當於積體電路(器件或部件)的毛坯、半成品和成品的設計技術。
 IP內核通常是用某種HDL文本提交使用者,它已經過行為級設計優化和功能驗證,但其中不含有任何具體的物理資訊。據此,用戶可以綜合出正確的門電路級網表,並可以進行後續結構設計,具有最大的靈活性,可以很容易地借助於EDA綜合工具與其他外部邏輯電路結合成一體,根據各種不同的半導體工藝,設計成具有不同性能的器件。可以商品化的軟IP內核一般電路結構總門數都在5000門以上。但是,如果後續設計不當,有可能導致整個結果失敗。軟IP內核又稱作虛擬器件。
 IP內核是基於某種半導體工藝的物理設計,已有固定的拓撲佈局和具體工藝,並已經過工藝驗證,具有可保證的性能。其提供給使用者的形式是電路物理結構掩模版圖和全套工藝檔,是可以拿來就用的全套技術。
 IP內核的設計深度則是介於軟IP內核和硬IP內核之間,除了完成硬IP內核所有的設計外,還完成了門電路級綜合和時序模擬等設計環節。一般以門電路級網表形式提交用戶使用。
 TIPhilipsAtmel等廠商就是通過Intel授權,用其MCS51IP內核模組結合自己的特長開發出有個性的與Intel MCS51相容的單片機。
常用的IP內核模組有各種不同的CPU(32/64位元CISC/RISC結構的CPU8/16位微控制器/單片機,如8051)32/64DSP(如320C30)、DRAMSRAMEEPROMFlashmemoryA/DD/AMPEG/JPEGUSBPCI、標準介面、網路單元、編譯器、編碼/解碼器和模擬器件模組等。豐富的IP內核模組庫為快速地設計專用積體電路和單片系統以及儘快佔領市場提供了基本保證。


轉自:海天長笑博客

http://bbs.ednchina.com/BLOG_ARTICLE_112206.HTM