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