Documente Academic
Documente Profesional
Documente Cultură
Iaşi, Romania
2020
3.10. CC2650 și CC3200
În cadrul acestei discipline vom lucra cu două sisteme ce au
la bază:
CC2650 SimpleLink multi-standard 2.4 GHz ultra-low power wireless
Faculty of Electronics, Telecommunications and Information Technology
MCU
CC3200 SimpleLink™ Wi-Fi® and Internet-of-Things solution -
Single-Chip Wireless MCU
CC2650: Cortex-M3
CC3200: Cortex-M4
Amândouă procesoarele:
arhitectură ARMv7-M
instrucțiuni Thumb/Thumb-2 - includ instrucțiuni pe 16 și 32 de biți
Diferența fundamentală:
setul de instrucțiuni de tip DSP (SIMD) existent în Cortex-M4
Opțional exista și un procesor de tip FPU – pentru Cortex-M4F
Nr. total de instrucțiuni 291 (186 de bază Cortex-M3 + 80 SIMD + 25
FPU), pentru Cortex-M4F
”Gheorghe Asachi” Technical University | www.etti.tuiasi.ro/cin Dan-Marius Dobrea, mdobrea@etti.tuiasi.ro 3
3.10. CC2650 și CC3200
Faculty of Electronics, Telecommunications and Information Technology
de instrucțiuni ARM.
se obține:
o reducere a lungimii instrucțiunilor, pe seama
pierderii flexibilității și diferitelor funcționalități existente în setul
inițial de comenzi ARM (de ex. numai o parte din regiștrii de uz
general pot fi accesați).
Cea mai mare parte a instrucțiunilor din setul Thumb sunt
decodate și, ulterior, mapate direct în instrucțiuni din setul
ARM, permițând în final funcționalități identice cu acestea.
”Gheorghe Asachi” Technical University | www.etti.tuiasi.ro/cin Dan-Marius Dobrea, mdobrea@etti.tuiasi.ro 9
Setul de instrucțiuni Thumb & Thumb-2
Faculty of Electronics, Telecommunications and Information Technology
32 de biți.
Pentru aceasta:
o cunoaștere profundă a părții hardware pe care codul rulează
O cunoaștere a limbajului de ansamblare
Sintetizând:
primele 4 variabile de tip integer vor fi trimise ca argumente în
cadrul funcției prin intermediul primilor 4 regiștri: r0, r1, r2 și r3, în
timp ce
următoarele argumente de tip întreg vor fi plasate pe stivă
prin:
doi registri consecutivi (primul argument r0 și r1, al doilea argument
r2 și r3) iar
următoarele valori prin intermediul stivei.
Dacă aceleași tip de valoare ar trebui returnată aceasta se
va realiza prin intermediul regiștrilor r0 și r1
.w
genereze o instrucțiune pe 32 de
biți într-o zonă de cod Thumb-2
”Gheorghe Asachi” Technical University | www.etti.tuiasi.ro/cin Dan-Marius Dobrea, mdobrea@etti.tuiasi.ro 27
Programarea eficientă în C: Variabile locale
Faculty of Electronics, Telecommunications and Information Technology
2 raspunsuri:
Structuri header
structurile cu lungime variabilă
Antete:
unui pachet de tip IP (header of an IP datagram) + hederul unui fișier de tip ZIP
”Gheorghe Asachi” Technical University | www.etti.tuiasi.ro/cin Dan-Marius Dobrea, mdobrea@etti.tuiasi.ro 50
Programarea eficientă în C: Alinierea datelor
Faculty of Electronics, Telecommunications and Information Technology
analizate separat
La limita superioară: 32 x 32 + 64 → 64
Configurabil: permițând
înmulțiri pe 16 sau 32 de biți și
operații de acumulatre (de adunare a rezultatului obținut în urma
înmulțirii) pe 32 sau 64 de biți.
Datorită gradului de flexibilitate cu același modul de tip
MAC se pot efectua 2 operații 16 x 16 într-un singur ciclu
mașină
Setul SIMD (1 ciclu mașină) o paleta largă de operații de
tip adunare, scădere, înmulțire sau înmulțire și adunare
avantajele utilizării
unui procesor
Cortex-M4, față de
Faculty of Electronics, Telecommunications and Information Technology
utilizarea unui
procesor Cortex-
M3, în
implementarea
unui simplu filtru
IIR cu 5
coeficienți:
varianta release.
În acest mod, de exemplu, analizele de tip profiling vor reflecta mult mai
corect starea programului și performanțele acestuia
Profiling - tehnică de analiză - se urmărește determinarea duratei de
execuție a unei anumite subrutine sau a unui bloc al unui program.
Procesoarele din familia Intel, x86, nu prezintă acest mod
analiză directă a stării interne a procesorului.
În momentul în care programul este în modul debug mediul
de dezvoltare înserează o cantitate mult mai mare de cod
care are drept unică destinație atingerea obiectivelor
acestui mod de rulare și analiză a programului.
Comparație
între
dispozitivele
familiei
CC3200
utilizatorului
Pin_api
PRCM_Power_Reset_Clock_Module_api
Secure_Digital_Host_api
SHA_Secure_Hash_Algorithm_api
SPI_Serial_Peripheral_Interface_api
Systick_api
GPT_General_Purpose_Timer_api
UART_api
UDMA_Micro_Direct_Memory_Access_api
Utils_api
WDT_Watchdog_Timer_api
GPIO_General_Purpose_InputOutput_api
”Gheorghe Asachi” Technical University | www.etti.tuiasi.ro/cin Dan-Marius Dobrea, mdobrea@etti.tuiasi.ro 76
Faculty of Electronics, Telecommunications and Information Technology
Acceleratorul
criptografic
Obiectivele urmărite:
Confidențialitatea (privacy) - proprietatea de a păstra
Faculty of Electronics, Telecommunications and Information Technology
mod intenționat
Indiferent de lungimea mesajului de intrare, ieșirea din acest
algoritm, amprenta numerică (message digest) sau
semmătura, va avea o lungime fixă
Dacă din mesajul de intrare un singur bit își schimbă
valoarea, atunci amprenta numerică va fi total diferită față
de cea inițială
având la dispoziție amprenta numerică nu vom putea
reconstrui mesajul inițial
Autotități certificante
După ce CA verifică legitimitatea unei companii sau unei
Faculty of Electronics, Telecommunications and Information Technology
Mecanismul de criptare
1. când un web browser accesează un server web, ce suportă o
Faculty of Electronics, Telecommunications and Information Technology
128, 192 sau 256 de biți atât pe criptare cât și pe decriptare.
Algoritmul DES sau triplu DES (TDES sau 3DES). În mod similar se
permite criptarea și decriptarea mesajelor.
Următorii algoritmi de tip hash: MD5, SHA-1 și SHA-2 (SHA-224 și
SHA-256).
Algoritmii de detecție a erorilor, CRC (Cyclic Redundancy Check):
CRC-16-IBM, CRC-16-CCITT, CRC32, CRC-32C și TCP.
Prescripţiile mecanice: tipurile de conectoare utilizate, modul de
fixare a acestora precum şi a aparatelor din sistem, tipurile de
cabluri folosite, lungimea maximă a acestora, precum şi alte detalii
constructive şi prescripţii necesare pentru conectarea în sistem.
Prescripţiile electrice: parametrii electrici ai căii de comunicaţie,
nivelurile logice utilizate, condiţii de adaptare a ieşirilor şi a intrărilor.
Prescripţiile funcţionale: rolul şi modul de utilizare a fiecărei linii din
magistrala standard, se referă la mesajele şi datele ce pot fi
transferate şi modul în care se realizează acest transfer.
Prescripţiile operaţionale: la modul în care fiecare aparat din sistem
poate să utilizeze interfaţa standard pentru a comunica cu celelalte
elemente din sistem.
”Gheorghe Asachi” Technical University | www.etti.tuiasi.ro/cin Dan-Marius Dobrea, mdobrea@etti.tuiasi.ro 94
Protocoale seriale de interfațare
două dispozitive şi
conexiune multipunctuală, când mai multe dispozitive intercomunică
între ele.
În cazul unei conexiuni unul sau mai multe aparate
transmit date, şi acestea se numesc transmiţătoare şi
unul sau mai multe aparate recepţionează datele şi ele
se numesc receptoare
dispozitivul sau dispozitivele care guvernează
comunicarea se numesc coordonatori (master)
aparatele ce se supun semnalelor de control se
numesc subordonate (slave)
”Gheorghe Asachi” Technical University | www.etti.tuiasi.ro/cin Dan-Marius Dobrea, mdobrea@etti.tuiasi.ro 95
Protocoale seriale de interfațare
Pentru a reduce numarul de trasee/fire prin care se
comunica intre diferitele componente ale unui sistem (de
exemplu, microcontroler - periferic), se utilizează
Faculty of Electronics, Telecommunications and Information Technology
Deci, asincron:
necesitate existenței unei linii de date (pe care datele se transmit sau
recepționează) sau
a două linii de date (una din linii pentru transmisie, cea de a doua
pentru recepție) și
a unei alte conexiuni de referință.
Transferul sincron aduce o linie în plus – semnalul de tact
există interfețe seriale ce utilizează și linii de control a
fluxului de date RS 232
1. RS232;
2. I2C sau IIC - permite existența a mai mulți master mai
mulți slave, existând un mecanism de arbitrare între
masteri;
3. SPI – nu permite direct prezenta pe magistrala a doi
sau mai mulți masteri;
4. 1Wire, este posibilă configurația multi slave, dar multi
master se poate realiza numai cu o schema de
arbitrare externa;
5. USB.
Avantaje !!!
”Gheorghe Asachi” Technical University | www.etti.tuiasi.ro/cin Dan-Marius Dobrea, mdobrea@etti.tuiasi.ro
Standardul serial RS-232
Datorită acestor
nivele logice impuse
Faculty of Electronics, Telecommunications and Information Technology
de protocol - diferite
faţă de cele ale
familiilor TTL sau
CMOS pentru a ne
putea conecta la
portul serial al uC
sau SoC-ului trebuie
să utilizăm un circuit
convertor de nivel
logic
caracterele recepţionate
Avem:
paritate para, bitul de paritate se calculeaza de o așa natură încât
numărul total de biți în starea 1 din octetul util plus bitul de paritate
sa fie par
paritate impara, bitul de paritate se calculează astfel încât numărul
total de biți în starea 1 din octetul util plus bitul de paritate sa fie
impar
total neinteligibil
hardware sau
Software
Hardware
se utilizează semnale DTR/DSR sau RTS/CTS prin care unitatea
receptoare poate să oprească temporar fluxul de date transmis
Software
nu utilizeaza semnale de control hardware, în schimb foloseste un
set de coduri speciale prin care poate sa opreasca (codul XOFF,
cod ASCII 19) sau să repornească (codul XON, cod ASCII 17) fluxul
de date
se poate utiliza numai la transmiterea unor date în codificare ASCII
se urmărește:
reducerea costurilor de realizare a cablajelor imprimate precum și
scăderea timpul de realizare a unor prototipuri
adresă unică
poate funcţiona fie ca transmiţător, fie ca receptor
”Gheorghe Asachi” Technical University | www.etti.tuiasi.ro/cin Dan-Marius Dobrea, mdobrea@etti.tuiasi.ro
Interfața I2C (Inter-Integrated Circuit Bus)
Pentru conectarea la magistrala I2C fiecare circuit integrat este
prevăzut cu câte un etaj de interfaţă pentru fiecare linie a magistralei
Faculty of Electronics, Telecommunications and Information Technology
400 kHz.
La ora actuală trei alte moduri există:
fast-mode plus – ce permite viteze de transfer de 1 MHz,
modul high-speed – rata de transfer este 3.4 MHz și
ultra-fast mode, cu rata de transfer cea mai mare – de 5 MHz.
Numărul maxim de circuite care se pot conecta la
magistrală - limitat numai de capacitatea maxim admisă
pentru fiecare linie, care este de 400 pF
Deoarece dispozitivele de pe magistrală nu furnizează
nivelul de 1 logic se permite conectarea de dispozitive
alimentate la nivele diferite de tensiune
”Gheorghe Asachi” Technical University | www.etti.tuiasi.ro/cin Dan-Marius Dobrea, mdobrea@etti.tuiasi.ro
Interfața I2C (Inter-Integrated Circuit Bus)
Protocolul de transfer al datelor presupune:
iniţierea transferului prin aducerea magistralei într-o condiţie de
START,
transferul propriu-zis şi
Faculty of Electronics, Telecommunications and Information Technology
Interfața
I2C:
TMP112
Citire aleatorie
transfer
Excepţie: situaţia de “adresare generală” la care toate
elementele din sistem trebuie să răspundă şi care se
codifică prin doi octeţi
există elemente care nu răspund (nu este util să răspundă)
la “adresarea generală” Ele vor ignora codul adresării
generale
octetul ce urmează după condiţia S codifică:
pe primii 7 biţi mai semnificativi adresa subordonatului,
iar bitul mai puţin semnificativ este bitul R/W şi arată sensul
transferului