Przetwornik A/C i wynik zwrócony w systemie

Witam serdecznie,

Głowię się właśnie nad takim zagadnieniem: "Binarny rezultat wyniku przetwarzania 12-bitowego bipolarnego przetwornika A/C wynosi D=0E5AHEX (kod U2). Określ wartość napięcia wejściowego przetwornika Ua jeżeli Ufs=1.25V."

Proszę szanownych Grupowiczów o podpowiedź, jak się zabrać do tego przykładu z systemem dopełnień do dwóch.

Wynik konwersji zapisany bitowo to: 0000 1110 0101 1010

Przetwornik jest 12-bitowy, czy więc powinienem odrzucić początkowe

0000 i zostawić: 1.11001011010 (jedynka bitem znaku) czy też odrzucić 000 i zostawić: 0.111001011010

Zakładając pierwszy przypadek - po konwersji na wartość dziesiętną otrzymuję -422. Jak to w takim razie przenieść na napięcie? Mnożyć liczbę ujemną aby otrzymać ujemną wartość napięcia? Dzielić przez 211 czy 212?

A może trzeba po prostu na początku całą liczbę 0x0E5A zamienić z U2 na kod binarny?

Z góry bardzo dziękuję za wszelką pomoc.

[wysyłam ten post drugi raz, pierwszy chyba jakimś cudem nie dotarł do serwera news bo nigdzie go nie widzę...]
Reply to
PSYLO
Loading thread data ...

Ktokolwiek układał treść zadania bardzo chyba chciał je jak najbardziej zamotać zapisując 12-bitowy wynik nie wiedzieć czemu na 16 bitach. Obstawiam, że pierwsze cztery bity są dla zmyłki, bo inaczej gdyby traktować wynik jako 16-bitową liczbę w kodzie U2, to liczba (3674 dec) leżałaby poza zakresem mieszczącym się na 12 bitach ze znakiem - <-2048, +2047> .

Obstawiam, że tak - ale kwestia nie jest do końca jasna.

Wtedy masz wynik 13-bitowy.

Traktujesz wynik jako liczbę stałoprzecinkową leżącą w zakresie <-1,

1-1/2^(n-1)> czyli od -1 do prawie 1 co określa jaki ułamek Ufs jest podany na wejście . Czyli wynik w postaci całkowitej liczby dzielisz przez n-1 (w tym przypadku 2048), mnożysz przez Ufs i masz wartość Uwe. W szczególności dla wskazania 0x800 = -2048 dec będzie to -Ufs, a dla 0x7FF = 2047 dec - prawie Ufs czyli Ufs*(1-1/2048). Dla 0xE5A = -422 dec wynik będzie (-422/2048) * Ufs = -0.26V . Tak przynajmniej wskazywały ADC zwracające w U2 których ja używałem. Bipolarne ADC zwracają też czasami liczbę naturalną od 0 do (2^n)-1 co odpowiada przedziałowi od -Ufs do Ufs*(1-1/2^(n-1)), ale wtedy to już nie jest U2 tylko tzw. kod z przesunięciem tudzież spolaryzowany (biased).

Pozdravim Portal

Reply to
Portal

Użytkownik "PSYLO" snipped-for-privacy@o2.pl napisał w wiadomości news:f5ln3b$4vj$ snipped-for-privacy@atlantis.news.tpi.pl...

Najpierw się zastanów co to 12bit bipolarny. Czy to jest 12 czy 13 bitowy ? Bo spotykane są różne.

Reply to
lwh

Portal pisze:

Początkowe bity mogą stanowić adres kanału przetwornika na którym został zwrócony wynik...

Reply to
PSYLO

PSYLO napisał(a):

Należę do tych osób co chcą poznać wynik tego zadania. Też sądziłem że dzieli się przez 2^(n-1). Ale takie pytanie. Jeśli mamy podane Ufs, np

1.25V i wynik w U2, to czy to nie znaczy że on przetwarza od wartości

-Ufs/2 do Ufs/2? Czyli dzieląc przez 2^12 otrzymujemy albo max Ufs/2 albo min -Ufs/2. Bo to dzielenie przez 2^11 to oznaczyło by zmniejszenie rozdzielczości albo racze poszeżenie zakresu przetwarzania od -1.25 do 1.25 czyli 2.5. A w tym drugim przypadku nadal pełny zakres będzie wynosił 1.25, z tym że w połowie dodatni a w połowie ujemny.??

Reply to
mariuchp

Nie znaczy.

formatting link
Pozdravim Portal

Reply to
Portal

Dzięki za odpowiedzi. Ale patrząc na ten rysunek na wejściu wydaje się że max mamy 3/8 Ufs albo -3/8Ufs. Gdybyśmy dzielili prze 2^(n-1) to było by 3/4Ufs i -3/4Ufs, czyli większe napięcie wejściowe i mniejsza rozddzielczość.?? Pozdrawiam Zielony

Reply to
mariuchp

Ta skala na rysunku jest trochę myląca - jest odniesiona do wartości zakresu wejściowego a nie napięcia wolnej skali - a to nie to samo. Do tego rysunek przedstawia akurat przypadek z kodem z przesunięciem a nie U2 - chodziło mi tylko o to, że zakres przetwarzania mieści się od -Ufs do "nieco poniżej" + Ufs

Zgodnie z tamtym rysunkiem zakres napięć wejsćiowych mieści się od -FS (a nie -3/4) do 3/4 FS - to koresponduje z asymetrycznym zakresem U2 - na 3 bitach stałoprzecinkowo możesz zapisać zakres <-1, 3/4>, podobnie jak w przykładzie z zadania masz zakres od -Ufs do 2047/2048 Ufs. Więcej info pod linkami:

formatting link
Pozdravim Portal

Reply to
Portal

Wielkie dzięki Pozdrawiam Zielony

Reply to
mariuchp

A skad my to mamy wiedziec .. a mowia ze nie ma ma glupich pytan :-)

Ta, tylko czy zadajacy pytanie mial na mysli "11-bit pomiaru i bit znaku" czy "12bit pomiaru i bit znaku". Obstawiam ze to pierwsze, bo nie dawalby tak trywialnego przykladu

Tak by wypadalo.

J.

Reply to
J.F.

J.F. napisał(a):

Ten prosty przykład pokazuje, że większość z 'elektroników' na tej grupie nie jest w stanie rozwiązać problemu na poziomie elementarnym, bo albo po prostu nie wie, albo nie umie czytać ze zrozumieniam, albo nie umie liczyć na 4-działaniowym kalkulatorze, albo szuka dziury w całym inaczej: miesza gó..o z twarogiem.

Efekt ten sam - zero punktów i w tył zwrot na repetę do przedszkola :)

Reply to
A. Grodecki

Pozwolę się nie zgodzić - treść zadania jest niejednoznaczna przede wszystkim ze względu na zapis wartości pomiaru. Podany 16-bitowy(!!) wynik

0x0E5A w kodzie U2 to dokładnie 3674, co oczywiście nie mieści się w zakresie 12-bitowym ze znakiem. Liczba -422 o którą najpewniej chodziło autorowi zadania poprawnie zapisana w U2 jest reprezentowana na 16 bitach jako 0xFE5A. W ogóle te 4 dodatkowe bity z dupy są zupełnie i tylko zamieszanie wprowadzają. Więc zanim bym ludziom zarzucał ignorancję, to jednak zacząłbym od autora zadania, który chyba sam z arytmetyką binarną nie jest za pan brat, albo po prostu chciał wprowadzić dodatkową "niejasność" - tylko po co?

Pozdravim Portal

Reply to
Portal

Portal napisał(a):

Właśnie takie opinie mam na myśli ;)

przede

Od kiedy to zera poprzedzające liczbę coś znaczą? :)

Wot, zagwozdka! :) Człowieku, albo U2, albo znak-moduł! Masz znaczących 12 bitów, czy nie masz? Jest jak wół napisane, że u2, czy nie jest? Jest najstarszy bit jedynką, czy nie jest? Czyli jest liczba ujemna czy dodatnia? W czym problem?

Liczba -422 o którą najpewniej

I o to chodzi :) Testy inżynierskie często sprawdzają inteligencję a nie tylko zdolność małpiego stosowania wykutych formułek. Jeśli jest napisane że przetwornik 12 bitowy U2, a ktoś nadal ma wątpliwości, tylko dlatego że widzi więcej niż 12 pól bitowych, to już jest podstawa do wystawienia oceny za to zadanie.

To jest zadanie typu "ile waży 2kg ziemniaków wykopanych pod Ostrołęką przez kombajn ziemniaczany, który miał ćwierć atmosfery więcej w lewym kole, a kierowca ciągnika dłubał w nosie 3 minuty wcześniej" ;)

Więc zanim bym ludziom zarzucał

Żeby osoby bezsensownie zużywające tlen na sali poddały się od razu i było mniej sprawdzania, na przykład :)

I dziwić się, że posłowie IV RP złamanej ustawy bez wad prawnych nie potrafią całym stadem wyskrobać... ;)

Reply to
A. Grodecki

A ja właśnie przy takiej opinii mam zamiar zostać

No w przypadku systemów pozycyjnych z ujemnymi wagami znaczą.

Mówiąc "ze znakiem" nie precyzowałem o który kod ze znakiem (ang. signed) mi chodzi - możesz się ze mną nie zgadzać, ale proszę - nie rób ze mnie idioty.

Masz 12 bitów _rozdzelczości przetwornika_. Wynik może być równie dobrze zwracany na 64 bitach zminennoprzecinkowo.

Jest

Nie jest - zerem jest przecież. A jak się mam czepiać to nie najstarszy a najbardziej znaczący :-P Cytuję: "Binarny rezultat wyniku przetwarzania 12-bitowego bipolarnego przetwornika A/C wynosi D=0E5AHEX (kod U2)"

Szkoda mi już języka strzępić

To jest test na interpretację a nie inteligencję. A moim skromnym zdaniem zadania rachunkowe powinny być _jednoznaczne_. A zadania projektowo-problemowe to już zupełnie inna kategoria.

Pozdravim Portal

Reply to
Portal

Portal napisał(a):

Jeśli przekraczają zakres liczby, który w tym przypadku ma 12 bitów (w treści zadania), to nie znaczą. Nie ma mowy o konkretnym przetworniku, który równie dobrze może mieć 11 bitów na mniej znaczących polach a najstarszy (12-ty) na polu 16-tym, a "po drodze" jakieś flagi stanu. Przykład jest akademicki i tak należy do niego podejść. Wtedy życie staje się prostsze a wyniki sa zgodne z oczekiwaniami nauczyciela ;)

...

Oczywiście, ze powinny. I dlatego, jeśli pojawia się możliwość prostej interpretacji, należy traktować problemy dosłownie. Inaczej możnaby dojśc równie dobrze do wniosku, że ta liczba w zadaniu to szum podkwantowy a wspomnianego 12-bitowego wyniku autor zapomniał napisać ;) To jest zadanie na rozumienie pojęć - 12 bitów, U2, wynik przetwarzania a napięcie zakresowe.

Reply to
A. Grodecki

Tak, my nie wiemy ... co nieznany profesor przyjal za definicje.

Bo to nam do niczego nie potrzebne. Pan profesor da linka do datashitu to porozmawiamy.

J.

Reply to
J.F.

... a ktory to jest najstarszy bit i dlaczego wlasnie ten ? :-)

Czy przetwornik "12-bitowy" nie powinien zawierac rzeczywistego

12-bitowego przetwornika, a dodatkowo czlonu ustalania znaku ?

J.

Reply to
J.F.

Hłe hłe - mój były wykładowca od architektury komputerów dostawał białej gorączki na "starsze" i "młodsze" bity argumentując, że przecież z biegiem lata słowo binarne w różnych architekturach zwykle ulegało rozszerzaniu "w lewo", więc chronologicznie najbardziej znaczące bity są najmłodsze ;-)

W teorii 12-bitowy przetwornik to taki, który na wyjściu może wyprodukować

2^12 dyskretnych stanów. Ale z drugiej strony wynik przetwarzania takiego przetwornika w teorii nie może równać się 0x0E5A, bo taka liczba nie mieści się w zakresie liczb 12-bitowych ze znakiem. Do A. Grodeckiego - czepiam się tego zapisu tak, bo po prostu uważam rozszerzanie liczb ujemnych zapisanych w U2 zerami zamiast bitem znaku za błąd - i dlatego nie podoba mi się sposób w jaki sformułowano treść.

Pozdravim Portal

Reply to
Portal

Użytkownik "J.F." <jfox snipped-for-privacy@poczta.onet.pl> napisał w wiadomości news: snipped-for-privacy@4ax.com...

Można obejrzeć AD7880 , MCP3201 , MCP3301 ... i się zdziwić :-)

Reply to
lwh

Chodzi o to że pierwsze (najstarsze) 4 bity to nr kanału dlatego można je odrzucić i rozpatrywać tylko 12 młodszych bitów

Reply to
mariuchp

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.