Sari la conținut
ELFORUM - Forumul electronistilor

Esec comanda PCM1795 de catre Arduino Nano


merck

Postări Recomandate

  • Răspunsuri 79
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Top autori în acest subiect

Imagini postate

6 minutes ago, informer said:

Pai e nasol daca analizorul modifica starea unei linii digitale... inseamna ca aia-i in ceva high Z dupa mintea mea....

MSEL ii pus pe 0 pt. SPI? Ca daca ar fi in mod I2C fara rezistente de pull-up s-ar explica....

DA, este pus pe 0.

Ce am gasit despre high Z:

Screenshot-2022-02-13-at-20-45-17.png

Daca am inteles bine, pe iesire, pe durata primului octet am high Z, conform pdf-ului:

SPI.png

Link spre comentariu
void writeRegister(byte thisRegister, byte thisValue) {

  byte result1 = 0;
  byte result2 = 0;
  
  digitalWrite(slaveSelectPin, LOW);

  delayMicroseconds(10);

  result1 = SPI.transfer(thisRegister); 

  result2 = SPI.transfer(thisValue);  
  digitalWrite(slaveSelectPin, HIGH);
  delayMicroseconds(10);
  Serial.print(result1, BIN);
  Serial.println(); 
  Serial.print(result2, BIN);
  Serial.println(); 
}

Imi afiseaza 11111111 si 11111111

 

Incerc acum cu SPI.transfer16 in loc de SPI.transfer

Editat de merck
Link spre comentariu

Eu nu cred ca-i nimic in neregula cu formele alea de unda.
Chiar daca exista un delay mai mare intre clock-ul 8 si 9 asta n-ar trebui sa influenteze transferul SPI... cum vad ca-i setat modul, validarea datelor se face pe frontul crescator si pe diagrame e OK (chiar daca ar aparea vreun impuls acolo inainte de front, n-ar conta... valoarea liniei de date trebuie sa fie stabila PE FRONT-ul clock-ului).

Cred ca trebuie vazut de ce analizorul modifica starea liniei de intrare in uC... in mod normal dupa al 8-lea clock pe linia aia ar trebui sa apara continutul registrului.

Asa cred eu cel putin, presupunand ca IC-u` si conexiunile in rest sunt OK.

 

L.E. M-as uita si-n rest, ce-i cu IC-ul ala... ca din diagrame, daca-l dezlipiti de pe PCB n-o sa fie nici o diferenta... :) ... alimentari, reset, lipituri... d-astea...

Editat de informer
Link spre comentariu

Am un integrat lipit pe un adaptor la soclu DIP si infipt intr-o placa de test.

I-am dat 3,3V pe pinul 9 si am legat pinul 8 la GND pe partea digitala, am pinul MSEL legat la GND si apoi cele 4 fire de la arduino (CS, CLK, MOSI, MISO)

Pinul 14 de reset l-am pus la 5V

Pe partea analogica am pus pinii 16,19,24 si 27 la masa, 15,23 si 28 la 5V. 

 

Ce nu am pus este condensator de 0,1uF si 10uF intre 3,3V si GND pe partea digitala, dar nu cred sa fie nevoie. 

Editat de merck
Link spre comentariu

Astazi fiind data de 13 (inca) as vrea, cu scuzele de rigoare, sa insist pe pinul 13 - MDO (MISO... ala care se schimba cand puneti analizorul). :)
Citesc in datasheet ca:

"(2) Schmitt-trigger input and output. 5-V tolerant input. In I 2C mode, this pin becomes an open-drain 3-state output; otherwise, this pin is a CMOS output."

Dupa parerea mea daca o iesire CMOS isi schimba starea cand se conecteaza o intrare de analizor, ceva nu-i OK acolo. Ori nu-i in mod SPI  adica CMOS output, ori e o problema de conexiune/lipitura/contact... as verifica asata intai de toate.
Da` nah, poate maine... noapte buna!

 

Link spre comentariu

In datasheetul la PCM1795 este specificat un dinamic range pt partea analogica de 123dB. 

24 biti corespund la o gama dinamica maxima teoretic de 144dB.

32 biti corespund la o gama dinamica maxima teoretic de 192dB.

Dar convertorul are o gama dinamica analogica de doar 123dB. Care ar fi utilitatea prectica a comutarii in mod 32biti cit timp nici macar cei 24 biti pe care este configurat by default nu pot fi acoperiti de partea analogica de iesire.

 

PS: in caz ca nu se stie, convertoarele pe 32biti au fost inventate din ratiuni pur economice - de reclama si nu au nici o legatura cu tehnologia.

PS2: Pt o tensiune Virf-Virf la iesire de +/-10V (20Vvv - maximul posibil la iesirea unui operational alimentat la +/-12V) un LSB are valoarea teoretica de:

in cazul 24biti 0.000001192092895507812                     sau mai pe inteles, 1.19microvolti     

in cazul 32biti 0.000000004656612873077392578125 sau mai pe inteles, 4.65nanovolti.

Editat de sesebe
Link spre comentariu

Eu m fost catalogat aici pe forum c-as fi audiofil dar inca nu mi-am facut aparat de orientat cristalele in cabluri.

 

Legat de subiectul in discutie, se poate doar afisa pe display si raspunde spre computer sa lucreaza in 32biti si el sa ramina in 24biti ca nimeni nu poate sa-si dea seama, nici macar cu aparatura dedicata.

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări