片上系統(tǒng)(System on Chip,SoC)的概念是在20世紀(jì)90年代提出的,隨后成為微電子芯片技術(shù)發(fā)展的熱點(diǎn)。但是,SoC不能滿足模擬和數(shù)字混合系統(tǒng)的需求,它的應(yīng)用遠(yuǎn)不如想象的那樣廣泛。2003年美國(guó)賽普拉斯半導(dǎo)體公司(2019年被德國(guó)英飛凌科技股份公司收購(gòu))推出了可編程片上系統(tǒng)(Programmable System on Chip,PSoCTM,本書(shū)簡(jiǎn)稱為PSoC),它不但集8位微控制器、可編程數(shù)字陣列和可編程模擬陣列為一體,而且實(shí)現(xiàn)了在系統(tǒng)可編程。既滿足了一般電子系統(tǒng)的資源要求,又順應(yīng)了現(xiàn)代電子設(shè)計(jì)方法的發(fā)展方向。隨著微電子技術(shù)的發(fā)展,PSoC功能越來(lái)越強(qiáng)大,發(fā)展出了不同類型,不同類型所具有的資源和功能也不同,本書(shū)主要介紹最新的PSoC6。
本書(shū)是以作者多年的教學(xué)經(jīng)驗(yàn)和開(kāi)發(fā)實(shí)踐為基礎(chǔ)而編寫的教材,全面介紹PSoC6的結(jié)構(gòu)、原理、編程方法和實(shí)現(xiàn)方法,具有完整的體系結(jié)構(gòu),并設(shè)計(jì)大量的實(shí)踐環(huán)節(jié),力圖通過(guò)實(shí)訓(xùn)使讀者較快掌握利用PSoC6設(shè)計(jì)和實(shí)現(xiàn)電子系統(tǒng)的方法,以獲得適用于不同應(yīng)用領(lǐng)域的專用芯片。因此,本書(shū)可以作為有關(guān)課程的教科書(shū),也可以作為教師、學(xué)生和工程技術(shù)人員開(kāi)發(fā)和研究PSoC6的參考書(shū)。
本書(shū)力圖在總體結(jié)構(gòu)和內(nèi)容編排上具有系統(tǒng)性、科學(xué)性、啟發(fā)性、實(shí)用性和適用性,做到由淺入深、循序漸進(jìn)、易于入門、便于自學(xué)、適于教學(xué)、利于深入研究。
本書(shū)內(nèi)容包括PSoC6基本結(jié)構(gòu)、PSoC6開(kāi)發(fā)環(huán)境、PSoC6實(shí)驗(yàn)和PSoC6原理共四部分,編寫指導(dǎo)思想如下:
(1) 為了使讀者能夠盡快認(rèn)識(shí)PSoC6,第一部分首先介紹PSoC6的特點(diǎn)、基本結(jié)構(gòu)、應(yīng)用、開(kāi)發(fā)步驟、不同系列和選型、常用用戶模塊。
(2) 為了使讀者能夠盡快掌握PSoC6的開(kāi)發(fā)流程和使用方法,突出實(shí)用性,第二部分介紹了PSoC6的集成開(kāi)發(fā)環(huán)境、實(shí)驗(yàn)套件的使用方法、應(yīng)用程序設(shè)計(jì)方法和開(kāi)發(fā)流程,第三部分則以實(shí)驗(yàn)為例,詳細(xì)介紹PSoC6的基本開(kāi)發(fā)方法及PSoC6集成開(kāi)發(fā)環(huán)境的詳細(xì)使用方法。
(3) 讀者在掌握PSoC6的基本開(kāi)發(fā)方法之后,還需要理解PSoC6原理才能開(kāi)發(fā)高級(jí)應(yīng)用,因此本書(shū)第四部分介紹PSoC6原理。
各部分內(nèi)容主要特點(diǎn)如下:
第一部分針對(duì)第三部分實(shí)驗(yàn)所用到的PSoC6的常用用戶模塊(即外設(shè)),詳細(xì)說(shuō)明它們的功能、特點(diǎn)、主要參數(shù)和輸入/輸出端口,便于讀者理解,讀者在閱讀第二部分時(shí)可以參考。
第二部分針對(duì)第三部分實(shí)驗(yàn)所需要的實(shí)驗(yàn)套件和開(kāi)發(fā)環(huán)境,以實(shí)用和易于自學(xué)為原則,詳細(xì)介紹實(shí)驗(yàn)套件的各部分內(nèi)容以及外部接口,同時(shí)以設(shè)計(jì)流程為線索介紹開(kāi)發(fā)環(huán)境PSoC Creator各個(gè)功能部分的使用。
第三部分實(shí)驗(yàn)遵循循序漸進(jìn)的思想,分為基本實(shí)驗(yàn)、提高實(shí)驗(yàn)、綜合實(shí)驗(yàn)、創(chuàng)新實(shí)驗(yàn),使讀者逐步掌握PSoC6的開(kāi)發(fā)方法,最后達(dá)到靈活和創(chuàng)新運(yùn)用PSoC6開(kāi)發(fā)實(shí)際系統(tǒng)的程度。
第四部分在介紹PSoC6各部分原理時(shí)先介紹常用的及本書(shū)實(shí)驗(yàn)部分用到的資源,而將其他資源單獨(dú)編為第11章置于最后,讀者可根據(jù)需要查閱。
為利于自學(xué),第一、二、四部分的每章章末均安排了自測(cè)習(xí)題。
本書(shū)由葉朝輝、華成英、趙曉燕編著。
葉朝輝負(fù)責(zé)全書(shū)定稿,并編寫第1、4、5章。華成英撰寫序言。趙曉燕編寫第2章、第3章的一部分和第7章7.1節(jié)的一部分。清華大學(xué)自動(dòng)化系碩士研究生汪錦秈、程雪珂編寫第3章的其余部分、第6章、第7章其余部分、第8章~第11章,在此感謝他們的辛勤勞動(dòng)和對(duì)本書(shū)的貢獻(xiàn)。另外,第7章的創(chuàng)新實(shí)驗(yàn)均由清華大學(xué)自動(dòng)化系的各屆本科生設(shè)計(jì),在此表示感謝。
在本書(shū)的編寫過(guò)程中,得到了德國(guó)英飛凌科技股份公司特別是其北京辦事處的王佳經(jīng)理的支持和幫助,在此一并表示深深的謝意。
由于我們的能力和水平所限,書(shū)中定有疏漏、欠妥和錯(cuò)誤之處,懇請(qǐng)各界讀者多加指正。
作者2023年4月于清華園
第一部分PSoC6基本介紹
第1章PSoC6概述
1.1PSoC6的特點(diǎn)
1.2PSoC6的基本結(jié)構(gòu)
1.3PSoC6的應(yīng)用
1.4PSoC6的系統(tǒng)開(kāi)發(fā)特點(diǎn)
習(xí)題
第2章PSoC6結(jié)構(gòu)
2.1PSoC6簡(jiǎn)介
2.2PSoC61系列
2.3PSoC62系列
2.4PSoC63系列
2.5PSoC64系列
2.6PSoC6選型
習(xí)題
第3章PSoC6用戶模塊
3.1數(shù)字用戶模塊
3.1.1PWM
3.1.2SmartI/O
3.2通信用戶模塊
3.2.1UART
3.2.2SPI
3.2.3I2C
3.2.4BLE
3.3模擬用戶模塊
3.3.1運(yùn)算放大器
3.3.2電壓比較器
3.4模數(shù)混合用戶模塊
3.4.1逐次逼近型模數(shù)轉(zhuǎn)換器SAR ADC
3.4.2數(shù)模轉(zhuǎn)換器DAC
3.4.3CapSense
3.5其他用戶模塊
3.5.1DMA
3.5.2SysInt
習(xí)題
第二部分PSoC6開(kāi)發(fā)環(huán)境
第4章PSoC6開(kāi)發(fā)系統(tǒng)概述
4.1集成開(kāi)發(fā)環(huán)境PSoC Creator
4.2PSoC6實(shí)驗(yàn)套件
4.2.1PSoC6實(shí)驗(yàn)套件簡(jiǎn)介
4.2.2PSoC6實(shí)驗(yàn)板簡(jiǎn)介
4.2.3EINK墨水顯示屏擴(kuò)展板簡(jiǎn)介
習(xí)題
第5章PSoC6應(yīng)用程序設(shè)計(jì)
5.1C語(yǔ)言基礎(chǔ)
5.1.1數(shù)據(jù)類型
5.1.2操作符
5.1.3表達(dá)式
5.1.4語(yǔ)句
5.1.5指針
5.1.6處理指令
5.2外設(shè)驅(qū)動(dòng)程序庫(kù)PDL
5.3嵌入式實(shí)時(shí)操作系統(tǒng)FreeRTOS
5.1.1FreeRTOS簡(jiǎn)介
5.1.2FreeRTOS的任務(wù)
習(xí)題
第6章PSoC Creator
6.1項(xiàng)目創(chuàng)建
6.1.1創(chuàng)建新項(xiàng)目
6.1.2復(fù)制一個(gè)項(xiàng)目
6.1.3創(chuàng)建一個(gè)基于示例的項(xiàng)目
6.2設(shè)備編輯器子系統(tǒng)
6.2.1選擇并放置用戶模塊
6.2.2配置用戶模塊
6.2.3用戶模塊線路互連
6.2.4設(shè)置系統(tǒng)資源
6.2.5設(shè)計(jì)規(guī)則檢查
6.2.6生成應(yīng)用程序文件
6.3應(yīng)用程序編輯子系統(tǒng)
6.3.1文件系統(tǒng)
6.3.2編輯文件
6.3.3構(gòu)建項(xiàng)目
6.4調(diào)試器子系統(tǒng)
6.5編程下載子系統(tǒng)
6.6項(xiàng)目設(shè)置
6.6.1代碼生成設(shè)置
6.6.2調(diào)試設(shè)置
6.6.3外設(shè)驅(qū)動(dòng)庫(kù)設(shè)置
6.6.4工具鏈設(shè)置
6.6.5所有項(xiàng)目PDL版本的設(shè)置
習(xí)題
第三部分PSoC6實(shí)驗(yàn)
第7章PSoC6實(shí)驗(yàn)
7.1基礎(chǔ)實(shí)驗(yàn)
7.1.1PWM實(shí)驗(yàn)
7.1.2SmartI/O實(shí)驗(yàn)
7.1.3UART與IPC實(shí)驗(yàn)
7.1.4SPI實(shí)驗(yàn)
7.1.5I2C實(shí)驗(yàn)
7.1.6藍(lán)牙實(shí)驗(yàn)
7.1.7比較器和運(yùn)放實(shí)驗(yàn)
7.1.8ADC實(shí)驗(yàn)
7.1.9DAC和DMA實(shí)驗(yàn)
7.1.10CapSense實(shí)驗(yàn)
7.1.11EINK實(shí)驗(yàn)
7.1.12FreeRTOS實(shí)驗(yàn)
7.1.13Flash實(shí)驗(yàn)
7.2提高實(shí)驗(yàn)
7.2.1基于雙核的FreeRTOS和BLE實(shí)驗(yàn)
7.2.2基于SPI和ADC的RGB LED顏色調(diào)節(jié)
7.3綜合實(shí)驗(yàn)
7.3.1數(shù)字示波器
7.3.2信號(hào)發(fā)生器
7.3.3迷你車載冰箱溫控系統(tǒng)
7.3.4語(yǔ)音存儲(chǔ)回放系統(tǒng)
7.3.5安防短信報(bào)警系統(tǒng)
7.3.6超聲波測(cè)距系統(tǒng)
7.3.7溫濕度測(cè)量系統(tǒng)
7.3.8紅外脈搏表
7.3.9簡(jiǎn)易大氣壓力表
7.3.10簡(jiǎn)易光強(qiáng)計(jì)
7.4創(chuàng)新實(shí)驗(yàn)
7.4.1機(jī)器蛇
7.4.2全地形多形態(tài)物流機(jī)器人
7.4.3多功能平衡車
7.4.4虛擬現(xiàn)實(shí)交互游戲
7.4.5室內(nèi)環(huán)境檢測(cè)儀
第四部分PSoC6原理
第8章PSoC6內(nèi)核
8.1PSoC6內(nèi)核簡(jiǎn)介
8.2中央處理器CPU子系統(tǒng)
8.2.1CPU簡(jiǎn)介
8.2.2性能
8.2.3安全性
8.2.4啟動(dòng)順序
8.3內(nèi)部存儲(chǔ)器
8.4DMA控制器
習(xí)題
第9章PSoC6系統(tǒng)資源
9.1電源
9.1.1電源系統(tǒng)
9.1.2接地處理
9.2多時(shí)鐘源
9.2.1內(nèi)部主振蕩器(IMO)
9.2.2外部晶振器(ECO)
9.2.3外部時(shí)鐘(EXTCLK)
9.2.4內(nèi)部低速振蕩器(ILO)
9.2.5精密內(nèi)部低速振蕩器(PILO)
9.2.6時(shí)鐘晶體振蕩器(WCO)
9.2.7鎖相環(huán)(PLL)和鎖頻環(huán)(FLL)
9.3睡眠和看門狗
9.3.1PSoC6工作模式
9.3.2看門狗定時(shí)器
9.4復(fù)位
9.4.1復(fù)位方式
9.4.2復(fù)位引腳XRES的使用
9.4.3復(fù)位的影響
習(xí)題
第10章PSoC6數(shù)字和模擬資源
10.1可編程數(shù)字資源
10.1.1通用數(shù)字模塊UDB
10.1.2串行存儲(chǔ)器接口SMIF
10.1.3SmartI/O
10.2固定功能數(shù)字資源
10.2.1定時(shí)器/計(jì)數(shù)器/PWM模塊 TCPWM
10.2.2串行通信模塊 SCB
10.3模擬資源
10.3.1低功耗比較器
10.3.2連續(xù)時(shí)間模塊
10.3.3逐次逼近型模數(shù)轉(zhuǎn)換器
10.3.4數(shù)模轉(zhuǎn)換器
習(xí)題
第11章PSoC6 其他資源
11.1可編程GPIO
11.2CapSense
11.3EINK
11.4BLE
11.5音頻子系統(tǒng)
11.6eFuse
習(xí)題
參考文獻(xiàn)
索引