2D pong: Adding a ball movement delay on respawn.

So currently when someone score the ball move back to the center but keeps moving,
I want it so that when it respawn the ball is stuck in the center for like 2s before moving again but can’t
seem to figure out how to.
Here’s my script:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ballMovement : MonoBehaviour
{
    public float speed = 5;
    public float respawnspeed = 5;
    public float acceleration = 1;

    void Start()
    {
        // Initial Velocity
        GetComponent<Rigidbody2D>().velocity = Vector2.right * speed;
    }

    float hitFactor(Vector2 ballPos, Vector2 racketPos,
                float racketHeight)
    {
        // ascii art:
        // ||  1 <- at the top of the racket
        // ||
        // ||  0 <- at the middle of the racket
        // ||
        // || -1 <- at the bottom of the racket
        return (ballPos.y - racketPos.y) / racketHeight;
    }

    void Update()
    {
        //Add acceleration to speed, make sure it's not above topSpeed)
        speed += Time.deltaTime * acceleration;
    }


        void OnCollisionEnter2D(Collision2D col)
    {
        if (col.gameObject.name == "RacketLeft")
        {
            // Calculate hit Factor
            float y = hitFactor(transform.position,
                                col.transform.position,
                                col.collider.bounds.size.y);

            // Calculate direction, make length=1 via .normalized
            Vector2 dir = new Vector2(1, y).normalized;

            // Set Velocity with dir * speed
            GetComponent<Rigidbody2D>().velocity = dir * speed;
        }

        // Hit the right Racket?
        if (col.gameObject.name == "RacketRight")
        {
            // Calculate hit Factor
            float y = hitFactor(transform.position,
                                col.transform.position,
                                col.collider.bounds.size.y);

            // Calculate direction, make length=1 via .normalized
            Vector2 dir = new Vector2(-1, y).normalized;

            // Set Velocity with dir * speed
            GetComponent<Rigidbody2D>().velocity = dir * speed;
        }

    }

    private void OnTriggerEnter2D(Collider2D other)
    {
        if (other.gameObject.tag == "Goal")
        {
            speed = respawnspeed;
            Update();
        }


    }

}

I would suggest calling an IEnumerator when you move it to the center.
Have a boolean that is checked before you apply acceleration or velocity changes. If false apply the changes to speed, if true skip that code.
_
Call the following IEnumerator using StartCoroutine(DelayMovement()) when it reaches the center. Essentially all this does is stop movement and then allow it to run again after so many seconds.
_
bool preventMovement = false;

        IEnumerator DelayMovement()
        {
            preventMovement = true;
            yield return new WaitForSeconds(2);
            preventMovement = false;
        }

Something like this.