Sida 1 av 2

Binärräknare, vilket chip?

Postat: 30 oktober 2012, 14:03:47
av hanzibal
Hej!

Jag behöver en binär räknare med seriellt gränssnitt, dv.s. att man klockar ut bitarna. Kan inte terminologin särskilt bra men tror att ni förstår vad jag menar om jag sammanfattar behovet såhär:

Grundläggande funktioner som krävs
1. Räkna pulser (höga flanker) 10Hz - 10Mhz.
2. 1.8 - 5V-logik
3. Minst 14 bitars register (seriekopplar 2+ st. om färre än 24 bitar)
4. Latchad seriell output (så att jag kan klocka ut bitarna en i taget)
5. Overflow-pinne ut för ev. seriekoppling
6. Reset-pinne (presets, upp/ned, etc. behövs ej)
7. Buffrad output (latchad?) så att jag kan klocka ut bitar i lugn och ro medan räknaren fortsätter

Önskvärda funktioner, ej viktiga
4. 24+ bitars register (så slipper jag seriekoppla)
5. Divisor 2, 4, 8, ...

Någon som känner till något passande?

Re: Binär räknare, vilket chip?

Postat: 30 oktober 2012, 14:39:11
av Icecap
Jag har sett många räknare men ingen med SPI-utgång. Men du kan ju bygga med vanliga räknare + parallell-in -> seriell-out.

Re: Binär räknare, vilket chip?

Postat: 30 oktober 2012, 14:53:42
av hanzibal
Njä, alltså inte SPI utan jag vill att utgången skall fungera som ett skiftregister med parallell ingång (räknarregistet) och seriell utgång som jag sedan kan klocka ut bitarna ifrån.

Re: Binär räknare, vilket chip?

Postat: 30 oktober 2012, 15:19:53
av H.O
Det är ju i princip SPI du beskriver... Med vad ska du skifta ut bitarna ur räknaren?
Om det är en uC så ta en titt på LS7366 - kan vara en möjlig kandidat, den fixar inte 1.8V logik dock. Å andra sidan, om du HAR en uC så borde du inte behöva en extern räknare....

Re: Binärräknare, vilket chip?

Postat: 30 oktober 2012, 16:16:27
av hanzibal
Ingen uC i detta fall utan har en usb <-> gpio som jag skall "bit banga" med.

Märk väl, detta är bara för att testa/leka med usb-kortet och alltså inget som skall bestå.

Jag har en UART på kortet också som jag tänkte köra med senare men vill verifiera grundprincipen innan jag inför ytterligare felkällor.

Visst, jag kan säkert vittja räknaren med spi men har alltså bara uart som blir en senare nöt att knäcka.

Chipet du länkade till verkar kanon, vet inte om det går att köra spi-klockan med gpio eller uart men kanske värt ett försök?

Re: Binärräknare, vilket chip?

Postat: 30 oktober 2012, 16:29:40
av sodjan
> Visst, jag kan säkert vittja räknaren med spi...

Läste du inte? Det är ju samma sak som du beskriver.
Du vill ha en klockpinne och en datapinne, eller hur?

Jag tror som Icecap, det räcker inte med *en* krets, du
får kombinera vanliga räknare med en pall/ser krets (eventuellt
med latch om du vill "frysa" värdet under avläsningen). Det är
inget problem att hitta dom kretsarna bland vanlig 74HC logik.

Re: Binärräknare, vilket chip?

Postat: 30 oktober 2012, 16:50:35
av hanzibal
Jo, jag läste men håller bara inte med om "klockpinne och datapinne" som officiell definition av SPI ;-)

Jo räknare med parallell utgång och ett parallell->seriellt skiftregister (har jag i lådan) med latchad ingång kommer att funkar bra men jag hade hoppats på en enda IC.

Jag har sett 8-bit räknare med seriell utgång och dessa måste ju vara latchade annars blir det ju helknasigt. Känns dock bökigt med 3 seriekopplade sådana och i en utopi hade jag hellre haft ett 24-bitars.

Re: Binärräknare, vilket chip?

Postat: 30 oktober 2012, 22:44:37
av prototypen
Vad är detta, räknare med seriell utgång. Har du någon beteckning på det du har i byrålådan så jag kan begripa.
Stora logikkretsar(typ 74 serien) tillverkas inte längre, ersätts med uC. De grundläggande kommer att finnas kvar länge men de lite udda kommer att försvinna.

Protte

Re: Binärräknare, vilket chip?

Postat: 30 oktober 2012, 23:13:53
av hanzibal
Skriftregister har jag i lådan men inte räknare med seriell utgång för det verkar inte finnas :lol: Har sett fel eller förväxlat med 8-bitars AD med seriell utgång. Visserligen finns alltså den här smarriga LS7366 som H.O tipsade - det är ju (bl.a) en 32 bitars räknare med seriell utgång (SPI) som dock kräver en uC.

http://www.lsicsi.com/pdfs/LS7366.pdf

Verkar dock svår att få tag på och kan mycket mer än bara räkna, alltså troligen väl dyr för ändamålet. Det får nog bli räknare och skiftregister i alla fall.

Den här skulle kanske passa rätt bra tillsammans med ett 8-bitars skiftregister:
http://www.lsicsi.com/pdfs/Data_Sheets/ ... LS7062.pdf

Det är en 32bit (2 x 16 i kaskad) där man plockar ut 32 bitarsregistret med 4 x läsningar av 8-bitar i taget. Kanske också onödigt dyr, skall kolla upp det. Den klarar upp till 15Mhz.

Re: Binärräknare, vilket chip?

Postat: 30 oktober 2012, 23:42:38
av Marta
En vanlig PIC16 har ju en timer T1 som är 16 bits lång och klarar att klockas externt med 60ns periodtid, drygt 16MHz. Sedan är det enkelt att förlänga den med mjukvaruräknare till önskad längd. Den har funktioner för att kunna latcha hela längden så båda bytes kan läsas av utan att riskera att det blir fel om den räknar förbi 256 mellan avläsningarna. Sedan kan den lätt skicka data antingen seriellt med UART eller klockas ut med SPI eller helt i mjukvara. Det är nog den enklaste lösningen och blir bara ett chip.

Edit: Vid närmare eftertanke så låser nog inte T1L värdet på den låga byten samtidigt som den höga läses av. Det enda hårdvaran garanterar är att inte läsa av ett värde mitt i en växling som då kan bli vad som helst. Problemet löses lätt i programvaran, liksom att hantera motsvarande när det gäller eventuell förlängning av räkaren i mjukvara.

Re: Binärräknare, vilket chip?

Postat: 31 oktober 2012, 00:00:59
av TomasL
Hanzibal, tror inte du vet vad du vill ha, börja från början, berätta vad det är du vill mäta och vilken signal du vill ha ut.

Re: Binärräknare, vilket chip?

Postat: 31 oktober 2012, 00:03:21
av hanzibal
Ja, du har nog rätt i att det blir enklast med uC i alla fall. Visste inte att man kunde klocka externt på det viset. Overflow kan man väl fånga på interrupt och sedan räkna dessa i mjukvara. Om jag räknar rätt så skulle man då få interrupt hamna på ca 65kHz och det klarar väl PIC lätt?

Vilken PIC16 rekommenderar du i så fall - finns det också andra modeller som klarar ännu snabbare pulser?

Tror jag har ett par PIC liggande i lådan, skall rota fram dem och se vad de är för några.

Re: Binärräknare, vilket chip?

Postat: 31 oktober 2012, 00:14:35
av TomasL
PIC18 klarar snabbare, och PIC32 ännu snabbare.

Re: Binärräknare, vilket chip?

Postat: 31 oktober 2012, 00:14:56
av sodjan
> Om jag räknar rätt...

Varför ska vi över huvudtaget behöva fundera på *HUR* du har räknat !?

Re: Binärräknare, vilket chip?

Postat: 31 oktober 2012, 00:18:35
av Marta
Alla PIC som har T1 eller T0 borde kunna användas. T0 är bara 8-bit, men det räcker för att ta ner 10MHz till knappt 40KHz och det bör en så enkel interrupt som att inkrementera en räknare och flagga att så har skett (för att hantera rollover mitt i avläsningen) klara fint utan att storkna.

Timern i PIC klarar 60ns, drygt 16MHz, extern klocka. Detta tycks gälla alla varianter. Tittade på ett par datablad för några av de nyare modellerna av både PIC16 och PIC18, det var dessvärre 60ns även där. Med reservation för att det bara råkat bli så att jag tittat på någon trög variant.