Calcolatore di frequenza e periodo del clock
Un clock digitale collega frequenza, periodo e cicli trascorsi. Inserisca una frequenza, per esempio 100 MHz, per conoscere la durata di un ciclo, oppure un periodo, come 10 ns, per ricavare la frequenza.
Esegui gratis nel browser
Può anche specificare un intervallo e calcolare quanti cicli contiene. I risultati sono espressi in pratiche unità ingegneristiche per processori, bus, FPGA, microcontrollori, strumenti di misura e comunicazioni digitali.
Converta la frequenza del clock in periodo
La frequenza indica quanti cicli avvengono ogni secondo, mentre il periodo indica la durata di un ciclo. Sono grandezze reciproche: il periodo è uno diviso per la frequenza. Un clock da 100 MHz compie 100 milioni di cicli al secondo, quindi ogni ciclo dura 10 nanosecondi. Selezioni Hz, kHz, MHz o GHz; il calcolatore normalizza il valore e mostra più scale di frequenza e tempo, evitando errori con i prefissi metrici. Usi il periodo per valutare i margini temporali, impostare un oscilloscopio o confrontare i requisiti di una periferica. La frequenza deve essere positiva, perché zero non produce un periodo finito.
Converta un periodo misurato in frequenza
Talvolta una scheda tecnica, un diagramma temporale o un oscilloscopio fornisce la durata del ciclo. In questa direzione la frequenza è uno diviso per il periodo. Inserisca secondi, millisecondi, microsecondi, nanosecondi o picosecondi. Per esempio, 20 ns corrispondono a 50 MHz. Fornisca soltanto frequenza oppure periodo, così da evitare dati contraddittori. Verifichi che la misura rappresenti un ciclo completo: la larghezza dell’impulso non coincide necessariamente con il periodo se il duty cycle non è del cinquanta per cento, e il tempo di bit di un protocollo può comprendere più cicli di riferimento.
Calcoli i cicli in un intervallo
Aggiunga un intervallo per moltiplicare la frequenza normalizzata per il tempo in secondi. Può così convertire un timeout in tick del timer, stimare i cicli disponibili per una routine o controllare una simulazione. `cycles` può essere frazionario se l’intervallo termina durante un ciclo; `complete_cycles` arrotonda verso il basso e conta solo quelli conclusi. Un intervallo pari a zero restituisce zero. La sua unità è indipendente da quella del clock. Il calcolo presuppone un clock ideale e costante; per margini realistici consideri separatamente tolleranza, jitter, deriva e clock gating.
Casi d'uso
Verificare il timing di una FPGA
Converta la frequenza obiettivo nei nanosecondi disponibili per ogni stadio sincrono.
Configurare i conteggi del timer
Determini quanti cicli del clock di ingresso rientrano in un timeout in microsecondi o millisecondi.
Interpretare le misure
Trasformi un periodo rilevato da oscilloscopio o analizzatore logico in MHz o GHz.
Domande frequenti
Quanto costa un calcolo tramite API?
Ogni richiesta API costa $0.002; il calcolatore funziona gratuitamente anche nel browser.
Quale formula converte frequenza in periodo?
Il periodo in secondi è 1 diviso per la frequenza in hertz.
Posso fornire frequenza e periodo?
No. Ne fornisca esattamente uno per mantenere una sola origine non ambigua.
Perché i cicli possono essere frazionari?
L’intervallo può terminare durante un ciclo. Usi complete_cycles quando contano solo i cicli conclusi.
Sono inclusi jitter o tolleranza?
No. Il clock è ideale e costante; applichi separatamente tolleranza, jitter, deriva e clock gating.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/elec/clock-period \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"frequency":100,"frequency_unit":"MHz"}'const res = await fetch("https://api.kit.forhosting.com/elec/clock-period", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"frequency": 100,
"frequency_unit": "MHz"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/elec/clock-period",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"frequency": 100,
"frequency_unit": "MHz"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/elec/clock-period", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"frequency":100,"frequency_unit":"MHz"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"frequency":100,"frequency_unit":"MHz"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/elec/clock-period", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"frequency": 100,
"frequency_unit": "MHz"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.clock_period",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |